Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzuaa
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzuaa
提交
5ac68a1c
提交
5ac68a1c
编写于
11月 30, 2020
作者:
Tyl666
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master'
上级
11e25633
30a56ec7
变更
86
展开全部
显示空白字符变更
内嵌
并排
正在显示
86 个修改的文件
包含
4224 行增加
和
604 行删除
+4224
-604
.gitignore
.gitignore
+1
-0
CHANGELOG.md
app_web/CHANGELOG.md
+148
-0
package.json
app_web/package.json
+3
-9
avue.min.js
app_web/public/assets/js/avue.min.js
+3
-3
codelist-service.ts
app_web/src/codelist/codelist-service.ts
+24
-0
app-after-time.vue
app_web/src/components/app-after-time/app-after-time.vue
+136
-0
app-alert-group.vue
app_web/src/components/app-alert-group/app-alert-group.vue
+8
-1
app-form-druipart.vue
...eb/src/components/app-form-druipart/app-form-druipart.vue
+42
-1
app-form-item.less
app_web/src/components/app-form-item/app-form-item.less
+3
-1
app-form-item.vue
app_web/src/components/app-form-item/app-form-item.vue
+33
-1
app-input-ip.less
app_web/src/components/app-input-ip/app-input-ip.less
+6
-0
app-input-ip.vue
app_web/src/components/app-input-ip/app-input-ip.vue
+185
-0
app-map-position.less
...web/src/components/app-map-position/app-map-position.less
+54
-0
app-map-position.vue
app_web/src/components/app-map-position/app-map-position.vue
+466
-0
app-rate.vue
app_web/src/components/app-rate/app-rate.vue
+214
-50
app-sort-bar.less
app_web/src/components/app-sort-bar/app-sort-bar.less
+68
-0
app-sort-bar.vue
app_web/src/components/app-sort-bar/app-sort-bar.vue
+63
-0
app-vue-pivottable.vue
.../src/components/app-vue-pivottable/app-vue-pivottable.vue
+208
-0
codelist.vue
app_web/src/components/codelist/codelist.vue
+61
-3
dropdown-list.vue
app_web/src/components/dropdown-list/dropdown-list.vue
+1
-2
menu-icon.less
app_web/src/components/menu-icon/menu-icon.less
+3
-0
menu-icon.tsx
app_web/src/components/menu-icon/menu-icon.tsx
+2
-2
map-view-engine.ts
app_web/src/engine/view/map-view-engine.ts
+68
-0
map-view9-engine.ts
app_web/src/engine/view/map-view9-engine.ts
+13
-0
view-engine.ts
app_web/src/engine/view/view-engine.ts
+7
-1
wfdyna-edit-view-engine.ts
app_web/src/engine/view/wfdyna-edit-view-engine.ts
+7
-5
components_en_US.ts
app_web/src/locale/lanres/components/components_en_US.ts
+15
-1
components_zh_CN.ts
app_web/src/locale/lanres/components/components_zh_CN.ts
+15
-1
main.ts
app_web/src/pages/uaa/index/main.ts
+9
-0
sys-app-grid-view-base.vue
...rc/pages/uaa/sys-app-grid-view/sys-app-grid-view-base.vue
+1
-1
sys-auth-log-grid-view-base.vue
...aa/sys-auth-log-grid-view/sys-auth-log-grid-view-base.vue
+1
-1
sys-open-access-grid-view-base.vue
...-open-access-grid-view/sys-open-access-grid-view-base.vue
+1
-1
sys-permissiongrid-view-base.vue
.../sys-permissiongrid-view/sys-permissiongrid-view-base.vue
+1
-1
sys-role-grid-view-base.vue
.../pages/uaa/sys-role-grid-view/sys-role-grid-view-base.vue
+1
-1
sys-role-permission-grid-view-base.vue
...rmission-grid-view/sys-role-permission-grid-view-base.vue
+1
-1
sys-user-grid-view-base.vue
.../pages/uaa/sys-user-grid-view/sys-user-grid-view-base.vue
+1
-1
sys-user-rolegrid-view-base.vue
...aa/sys-user-rolegrid-view/sys-user-rolegrid-view-base.vue
+1
-1
sys-app-service-base.ts
app_web/src/service/sys-app/sys-app-service-base.ts
+14
-0
sys-auth-log-service-base.ts
...web/src/service/sys-auth-log/sys-auth-log-service-base.ts
+14
-0
sys-open-access-service-base.ts
...c/service/sys-open-access/sys-open-access-service-base.ts
+14
-0
sys-permission-service-base.ts
...src/service/sys-permission/sys-permission-service-base.ts
+14
-0
sys-role-permission-service-base.ts
...e/sys-role-permission/sys-role-permission-service-base.ts
+22
-0
sys-role-service-base.ts
app_web/src/service/sys-role/sys-role-service-base.ts
+14
-0
sys-user-auth-service-base.ts
...b/src/service/sys-user-auth/sys-user-auth-service-base.ts
+14
-0
sys-user-role-service-base.ts
...b/src/service/sys-user-role/sys-user-role-service-base.ts
+22
-0
sys-user-service-base.ts
app_web/src/service/sys-user/sys-user-service-base.ts
+14
-0
shims-vue.d.ts
app_web/src/shims-vue.d.ts
+3
-1
default.less
app_web/src/styles/default.less
+1
-1
main-form-base.vue
app_web/src/widgets/sys-app/main-form/main-form-base.vue
+56
-28
main-form.less
app_web/src/widgets/sys-app/main-form/main-form.less
+1
-0
main-grid-base.vue
app_web/src/widgets/sys-app/main-grid/main-grid-base.vue
+223
-33
default-searchform-base.vue
...s-auth-log/default-searchform/default-searchform-base.vue
+2
-2
main-grid-base.vue
...web/src/widgets/sys-auth-log/main-grid/main-grid-base.vue
+221
-33
main-form-base.vue
.../src/widgets/sys-open-access/main-form/main-form-base.vue
+58
-30
main-form.less
app_web/src/widgets/sys-open-access/main-form/main-form.less
+1
-0
main-grid-base.vue
.../src/widgets/sys-open-access/main-grid/main-grid-base.vue
+219
-33
main-form-base.vue
...b/src/widgets/sys-permission/main-form/main-form-base.vue
+56
-28
main-form.less
app_web/src/widgets/sys-permission/main-form/main-form.less
+1
-0
main-grid-base.vue
...b/src/widgets/sys-permission/main-grid/main-grid-base.vue
+209
-33
main-form-base.vue
.../widgets/sys-role-permission/main-form/main-form-base.vue
+56
-28
main-form.less
.../src/widgets/sys-role-permission/main-form/main-form.less
+1
-0
main-grid-base.vue
.../widgets/sys-role-permission/main-grid/main-grid-base.vue
+211
-33
main-form.less
app_web/src/widgets/sys-role/main-form/main-form.less
+1
-0
main-grid-base.vue
app_web/src/widgets/sys-role/main-grid/main-grid-base.vue
+217
-33
main-form-base.vue
...eb/src/widgets/sys-user-role/main-form/main-form-base.vue
+56
-28
main-form.less
app_web/src/widgets/sys-user-role/main-form/main-form.less
+1
-0
main-grid-base.vue
...eb/src/widgets/sys-user-role/main-grid/main-grid-base.vue
+215
-33
main-form-base.vue
app_web/src/widgets/sys-user/main-form/main-form-base.vue
+56
-28
main-form.less
app_web/src/widgets/sys-user/main-form/main-form.less
+1
-0
main-grid-base.vue
app_web/src/widgets/sys-user/main-grid/main-grid-base.vue
+217
-33
config.xml
config.xml
+0
-5
SysAuthLogSearchContext.java
...a/cn/ibizlab/core/uaa/filter/SysAuthLogSearchContext.java
+1
-1
SysOpenAccessSearchContext.java
...n/ibizlab/core/uaa/filter/SysOpenAccessSearchContext.java
+1
-1
SysPSSystemSearchContext.java
.../cn/ibizlab/core/uaa/filter/SysPSSystemSearchContext.java
+1
-1
SysPermissionSearchContext.java
...n/ibizlab/core/uaa/filter/SysPermissionSearchContext.java
+1
-1
SysRolePermissionSearchContext.java
...izlab/core/uaa/filter/SysRolePermissionSearchContext.java
+1
-1
SysRoleSearchContext.java
...java/cn/ibizlab/core/uaa/filter/SysRoleSearchContext.java
+3
-3
SysUserAuthSearchContext.java
.../cn/ibizlab/core/uaa/filter/SysUserAuthSearchContext.java
+1
-1
SysUserRoleSearchContext.java
.../cn/ibizlab/core/uaa/filter/SysUserRoleSearchContext.java
+1
-1
SysUserSearchContext.java
...java/cn/ibizlab/core/uaa/filter/SysUserSearchContext.java
+1
-1
h2_table.xml
ibzuaa-core/src/main/resources/liquibase/h2_table.xml
+11
-11
systemResource.json
...aa-core/src/main/resources/permission/systemResource.json
+38
-30
ibzuaa.json
ibzuaa-core/src/main/resources/sysmodel/ibzuaa.json
+20
-0
Dockerfile
...a-provider/ibzuaa-provider-api/src/main/docker/Dockerfile
+1
-1
ibzuaa-provider-api.yaml
...uaa-provider-api/src/main/docker/ibzuaa-provider-api.yaml
+1
-15
DTOBase.java
...aa-util/src/main/java/cn/ibizlab/util/domain/DTOBase.java
+43
-4
未找到文件。
.gitignore
浏览文件 @
5ac68a1c
...
...
@@ -12,3 +12,4 @@
**.iml
*.jar
*.log
.DS_Store
app_web/CHANGELOG.md
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/package.json
浏览文件 @
5ac68a1c
...
...
@@ -9,8 +9,7 @@
"dev-build"
:
"node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service build --mode development"
,
"test:unit"
:
"vue-cli-service test:unit"
,
"test:e2e"
:
"vue-cli-service test:e2e"
,
"lint"
:
"vue-cli-service lint"
,
"format-code"
:
"prettier-eslint --write
\"
src/**/*.js
\"
\"
src/**/*.vue
\"
\"
src/**/*.tsx
\"
\"
src/**/*.ts
\"
\"
src/**/*.less
\"
"
"lint"
:
"vue-cli-service lint"
},
"dependencies"
:
{
"@fullcalendar/core"
:
"^4.4.0"
,
...
...
@@ -30,6 +29,7 @@
"font-awesome"
:
"^4.7.0"
,
"ibiz-gantt-elastic"
:
"^1.0.17"
,
"ibiz-vue-lib"
:
"^0.1.13"
,
"ibiz-vue-pivottable"
:
"^1.0.6"
,
"interactjs"
:
"^1.9.4"
,
"moment"
:
"^2.24.0"
,
"path-to-regexp"
:
"^6.1.0"
,
...
...
@@ -38,6 +38,7 @@
"tinymce"
:
"4.8.5"
,
"view-design"
:
"4.2.0"
,
"vue"
:
"^2.6.10"
,
"vue-amap"
:
"^0.5.10"
,
"vue-class-component"
:
"^7.0.2"
,
"vue-grid-layout"
:
"^2.3.7"
,
"vue-i18n"
:
"^8.15.3"
,
...
...
@@ -67,12 +68,5 @@
"script-loader"
:
"^0.7.2"
,
"typescript"
:
"~3.5.3"
,
"vue-template-compiler"
:
"^2.6.10"
},
"eslintConfig"
:
{
"root"
:
true
,
"extends"
:
[
"gitee"
,
"stylelint-config-prettier"
]
}
}
app_web/public/assets/js/avue.min.js
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/codelist/codelist-service.ts
浏览文件 @
5ac68a1c
...
...
@@ -69,6 +69,30 @@ export default class CodeListService {
return
(
window
as
any
)[
'codeListRegister'
].
getService
(
name
);
}
/**
* 获取代码表数据
*
* @param {string} tag 代码表标识
* @param {*} context
* @param {*} data
* @param {boolean} isloading
* @returns {Promise<any[]>}
* @memberof CodeListService
*/
public
async
getDataItems
(
codelist
:
any
,
context
?:
any
,
data
?:
any
,
isloading
?:
boolean
){
let
dataItems
:
Array
<
any
>
=
[];
try
{
if
(
codelist
.
tag
&&
Object
.
is
(
codelist
.
type
,
"STATIC"
)){
dataItems
=
await
this
.
getStaticItems
(
codelist
.
tag
);
}
else
{
dataItems
=
await
this
.
getItems
(
codelist
.
tag
,
codelist
.
context
,
codelist
.
viewparam
,
codelist
.
isloading
);
}
}
catch
(
error
){
console
.
warn
(
"代码表加载异常"
+
error
);
}
return
dataItems
;
}
/**
* 获取静态代码表
*
...
...
app_web/src/components/app-after-time/app-after-time.vue
0 → 100644
浏览文件 @
5ac68a1c
<
template
>
<div
class=
"app-after-time"
>
<span
v-if=
"diffTime =='minutes'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.minutesAgo'
)
}}
</span>
<span
v-if=
"diffTime =='hours'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.hoursAgo'
)
}}
</span>
<span
v-if=
"diffTime =='days'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.dayAgo'
)
}}
</span>
<span
v-if=
"diffTime =='mouth'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.monthsAgo'
)
}}
</span>
<span
v-if=
"diffTime =='years'"
>
{{
curvalue
}}{{
$t
(
'components.appAfterTime.yearsAgo'
)
}}
</span>
<span
v-if=
"!diffTime"
>
</span>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Prop
,
Emit
,
Watch
,
Model
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
@
Component
({})
export
default
class
AppAfterTime
extends
Vue
{
/**
* 属性项名称
*
* @type {string}
* @memberof AppAfterTime
*/
@
Prop
()
public
name
!
:
string
;
/**
* 应用上下文
*
* @type {any}
* @memberof AppAfterTime
*/
@
Prop
()
context
:
any
;
/**
* 视图参数
*
* @type {any}
* @memberof AppAfterTime
*/
@
Prop
()
viewparam
:
any
;
/**
* 表单状态对象
*
* @type {Subject<any>}
* @memberof AppAfterTime
*/
@
Prop
()
public
formState
?:
Subject
<
any
>
;
/**
* 表单绑定数据
*
* @type {any}
* @memberof AppAfterTime
*/
@
Model
(
'change'
)
public
value
:
any
;
/**
* 当前值
*
* @type {any}
* @memberof AppAfterTime
*/
public
curvalue
:
string
=
''
;
/**
* 毫秒差
*
* @type {any}
* @memberof AppAfterTime
*/
public
diffTime
:
any
=
''
;
/**
* 值变化
*
* @param {*} newVal
* @param {*} oldVal
* @memberof AppAfterTime
*/
@
Watch
(
'value'
)
public
onValueChange
(
newVal
:
any
,
oldVal
:
any
)
{
this
.
transTime
();
}
/**
* Vue声明周期(处理组件的输入属性)
*
* @memberof AppAfterTime
*/
public
created
(){
if
(
this
.
formState
){
this
.
formState
.
subscribe
(({
type
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
type
)){
this
.
transTime
();
}
})
}
this
.
transTime
();
}
/**
* 处理时间
*
* @memberof AppAfterTime
*/
public
transTime
(){
if
(
this
.
value
){
let
oldTime
=
new
Date
(
this
.
value
).
getTime
();
let
nowTime
=
new
Date
().
getTime
();
let
diffTime
=
nowTime
-
oldTime
;
if
(
diffTime
<
3600000
){
this
.
curvalue
=
Math
.
ceil
(
diffTime
/
60000
)
+
''
;
this
.
diffTime
=
'minutes'
;
}
else
if
(
diffTime
<
86400000
){
this
.
curvalue
=
Math
.
ceil
(
diffTime
/
3600000
)
+
''
;
this
.
diffTime
=
'hours'
;
}
else
if
(
diffTime
<
2592000000
){
this
.
curvalue
=
Math
.
floor
(
diffTime
/
86400000
)
+
''
;
this
.
diffTime
=
'days'
;
}
else
if
(
diffTime
<
31104000000
){
this
.
curvalue
=
Math
.
floor
(
diffTime
/
2592000000
)
+
''
;
this
.
diffTime
=
'mounth'
;
}
else
{
this
.
curvalue
=
Math
.
floor
(
diffTime
/
31104000000
)
+
''
;
this
.
diffTime
=
'years'
;
}
}
}
}
</
script
>
<
style
>
.app-after-time
{
margin-left
:
6px
;
}
</
style
>
\ No newline at end of file
app_web/src/components/app-alert-group/app-alert-group.vue
浏览文件 @
5ac68a1c
...
...
@@ -111,3 +111,10 @@ export default class AppAlertGroup extends Vue {
}
}
</
script
>
<
style
lang=
"less"
>
.view-body-messages {
margin-top: -10px;
margin-bottom: 6px;
}
</
style
>
\ No newline at end of file
app_web/src/components/app-form-druipart/app-form-druipart.vue
浏览文件 @
5ac68a1c
<
template
>
<div
class=
'form-druipart'
>
<component
ref=
"appFormDruipart"
:is=
"viewname"
class=
"viewcontainer2"
:viewdata =
"viewdata"
...
...
@@ -178,6 +179,14 @@ export default class AppFormDRUIPart extends Vue {
*/
private
formStateEvent
:
Unsubscribable
|
undefined
;
/**
* 定时器实例
*
* @type {[any]}
* @memberof AppFormDRUIPart
*/
protected
timer
?:
any
;
/**
* 监控值
*
...
...
@@ -308,11 +317,43 @@ export default class AppFormDRUIPart extends Vue {
}
if
(
!
this
.
isForbidLoad
){
setTimeout
(()
=>
{
this
.
formDruipart
.
next
({
action
:
'load'
,
data
:{
srfparentdename
:
this
.
parentName
,
srfparentkey
:
_paramitem
}}
);
this
.
partViewEvent
(
'load'
,{
data
:{
srfparentdename
:
this
.
parentName
,
srfparentkey
:
_paramitem
}},
0
);
},
0
);
}
}
/**
* 向关系视图发送事件,采用轮询模式。避免异步视图出现加载慢情况
*
* @param {*} action 触发行为
* @param {*} data 数据
* @param {*} count 轮询计数
* @memberof AppFormDRUIPart
*/
protected
partViewEvent
(
action
:
string
,
data
:
any
,
count
:
number
=
0
):
void
{
if
(
count
>
100
)
{
return
;
}
const
clearResource
:
Function
=
()
=>
{
if
(
this
.
timer
!==
undefined
){
clearTimeout
(
this
.
timer
);
this
.
timer
=
undefined
;
}
}
if
(
count
===
0
)
{
clearResource
();
}
if
(
this
.
$refs
.
appFormDruipart
)
{
this
.
formDruipart
.
next
({
action
:
action
,
data
});
clearResource
();
return
;
}
this
.
timer
=
setTimeout
(()
=>
{
count
++
;
this
.
partViewEvent
(
action
,
data
,
count
);
},
30
);
}
/**
* vue 生命周期
*
...
...
app_web/src/components/app-form-item/app-form-item.less
浏览文件 @
5ac68a1c
...
...
@@ -10,7 +10,9 @@
}
.app-form-item-label {
padding: 6px 10px 6px 0px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
...
...
app_web/src/components/app-form-item/app-form-item.vue
浏览文件 @
5ac68a1c
...
...
@@ -31,7 +31,17 @@
:class=
"labelclasses"
>
<span
v-if=
"required"
style=
"color:red;"
>
*
</span>
{{
this
.
isEmptyCaption
?
''
:
this
.
caption
}}
<span
v-if=
"!isEmptyCaption"
>
<el-tooltip
v-if=
"isShowTip"
placement=
"top"
effect=
"light"
>
<span
v-html=
"caption"
></span>
<template
>
<span
slot=
"content"
v-html=
"caption"
></span>
</
template
>
</el-tooltip>
<
template
v-if=
"!isShowTip"
>
<span
v-html=
"caption"
></span>
</
template
>
</span>
</span>
<div
v-if=
"Object.is(this.labelPos,'TOP') || Object.is(this.labelPos,'LEFT') || Object.is(this.labelPos,'RIGHT')"
...
...
@@ -136,6 +146,14 @@ export default class AppFormItem extends Vue {
*/
@
Prop
()
public
itemRules
!
:
any
;
/**
* 是否显示表单项Label提示
*
* @memberof AppFormItem
*/
public
isShowTip
:
boolean
=
false
;
/**
* 值规则数组
*
...
...
@@ -266,7 +284,21 @@ export default class AppFormItem extends Vue {
});
}
catch
(
error
)
{}
}
this
.
getShowTip
();
}
/**
* 计算是否显示表单项Label提示
*
* @memberof AppFormItem
*/
public
getShowTip
(){
if
(
this
.
caption
&&
((
this
.
caption
.
length
)
*
14
)
>
this
.
labelWidth
){
this
.
isShowTip
=
true
;
}
}
}
</
script
>
<
style
lang=
'less'
>
...
...
app_web/src/components/app-input-ip/app-input-ip.less
0 → 100644
浏览文件 @
5ac68a1c
input{
border-radius: 4px;
border:1px solid #888;
padding: 2px 10px;
width: 20%;
}
app_web/src/components/app-input-ip/app-input-ip.vue
0 → 100644
浏览文件 @
5ac68a1c
<
template
>
<div
class=
"app-inpu-ip"
>
<input
type=
"text"
v-model=
"firstIp"
maxlength=
"3"
/>
.
<input
type=
"text"
v-model=
"secIp"
maxlength=
"3"
/>
.
<input
type=
"text"
maxlength=
"3"
v-model=
"thirdIp"
/>
.
<input
type=
"text"
maxlength=
"3"
v-model=
"forIp"
/>
</div>
</
template
>
<
script
lang=
'ts'
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
'vue-property-decorator'
;
import
{
Subject
,
Subscription
}
from
'rxjs'
;
import
{
debounceTime
,
distinctUntilChanged
}
from
'rxjs/operators'
;
@
Component
({
})
export
default
class
AppInputIp
extends
Vue
{
/**
* 应用上下文
*
* @type {any}
* @memberof AppInputIp
*/
@
Prop
()
context
:
any
;
/**
* 视图参数
*
* @type {any}
* @memberof AppInputIp
*/
@
Prop
()
viewparam
:
any
;
/**
* 表单状态对象
*
* @type {Subject<any>}
* @memberof AppInputIp
*/
@
Prop
()
public
formState
!
:
Subject
<
any
>
;
/**表单数据绑定
*
* @type {string}
* @memberof AppInputIp
*/
@
Model
(
'change'
)
public
ipdata
!
:
string
;
/**
* 获取当前值
*
* @type {string}
* @memberof AppInputIp
*/
public
CurValue
:
any
[]
=
[];
/**
* 第一段ip
*
* @type {any}
* @memberof AppInputIp
*/
public
firstIp
:
any
=
''
;
/**
* 第二段ip
*
* @type {any}
* @memberof AppInputIp
*/
public
secIp
:
any
=
''
;
/**
* 第三段ip
*
* @type {any}
*/
public
thirdIp
:
any
=
''
;
/**
* 第四段ip
*
* @type {any}
* @memberof AppInputIp
*/
public
forIp
:
any
=
''
;
/**
* Vue声明周期(处理组件的输入属性)
*
* @memberof AppInputIp
*/
public
created
(){
if
(
this
.
formState
){
this
.
formState
.
subscribe
(({
type
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
type
)){
this
.
loadData
();
}
})
}
this
.
loadData
();
}
/**
* 加载数据
*
* @memberof AppInputIp
*/
public
loadData
(){
if
(
this
.
ipdata
){
let
iparr
:
Array
<
any
>
=
this
.
ipdata
.
split
(
'.'
);
this
.
CurValue
=
iparr
;
this
.
firstIp
=
this
.
CurValue
[
0
];
this
.
secIp
=
this
.
CurValue
[
1
];
this
.
thirdIp
=
this
.
CurValue
[
2
];
this
.
forIp
=
this
.
CurValue
[
3
];
}
}
/**
* 监听每段ip变化
*
* @memberof AppInputIp
*/
@
Watch
(
'firstIp'
)
public
FirstIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'firstIp'
,
0
);
}
@
Watch
(
'secIp'
)
public
SecIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'secIp'
,
1
);
}
@
Watch
(
'thirdIp'
)
public
ThirdIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'thirdIp'
,
2
);
}
@
Watch
(
'forIp'
)
public
ForIpChange
(
newVal
:
any
,
oldVal
:
any
){
this
.
checkIpVal
(
newVal
,
oldVal
,
'forIp'
,
3
);
}
/**
* 验证格式
*
* @memberof AppInputIp
*/
public
checkIpVal
(
newVal
:
any
,
oldVal
:
any
,
flag
:
any
,
index
:
number
){
if
(
newVal
===
''
)
return
let
val
=
newVal
;
let
reg
=
/^
(([
0-9
]
|
([
1-9
]\d)
|
(
1
\d\d)
|
(
2
([
0-4
]\d
|5
[
0-5
]))))
$/g
;
if
(
reg
.
test
(
val
)){
this
.
CurValue
[
index
]
=
val
;
}
else
{
if
(
flag
){
let
that
:
any
=
this
;
that
[
flag
]
=
oldVal
;
this
.
CurValue
[
index
]
=
oldVal
;
}
}
if
(
this
.
firstIp
&&
this
.
secIp
&&
this
.
thirdIp
&&
this
.
forIp
){
this
.
$emit
(
'change'
,
this
.
firstIp
+
'.'
+
this
.
secIp
+
'.'
+
this
.
thirdIp
+
'.'
+
this
.
forIp
);
}
}
}
</
script
>
<
style
lang=
'less'
>
@import './app-input-ip.less';
</
style
>
app_web/src/components/app-map-position/app-map-position.less
0 → 100644
浏览文件 @
5ac68a1c
.app-map-position {
.map-modal {
.el-dialog {
margin-top: 60px !important;
width: 90%;
.el-dialog__header {
padding: 10px 0px 10px 40px;
}
.el-dialog__body {
padding: 6px 10px;
.search-toolbar {
display: flex;
#map__result {
position: absolute;
z-index: 20;
right: 10px;
top: 110px;
}
.el-vue-search-box-container {
border: 1px solid #DCDFE6;
height: 40px;
margin-right: 20px;
}
}
}
.amap-marker-content {
img {
width: 25px;
height: 34px;
}
.input-map__marker {
position: absolute;
top: -28px;
right: -160px;
color: #fff;
padding: 0px 10px;
-webkit-box-shadow: 1px 1px 1px rgba(10,10,10,.2);
box-shadow: 1px 1px 1px rgba(10,10,10,.2);
white-space: nowrap;
font-size: 12px;
font-family: "";
background-color: #25a5f7;
border-radius: 3px;
}
}
}
.el-vue-amap-container {
padding-top: 20px;
height: 640px;
}
}
}
\ No newline at end of file
app_web/src/components/app-map-position/app-map-position.vue
0 → 100644
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/components/app-rate/app-rate.vue
浏览文件 @
5ac68a1c
<
template
>
<div>
<el-rate
:value =
"currentVal"
:disabled=
"disabled"
:max=
"max"
@
change=
"change"
>
</el-rate>
</div>
<div>
<el-rate
:value=
"currentVal"
:disabled=
"disabled"
:max=
"maxItem"
@
change=
"change"
>
</el-rate>
</div>
</
template
>
<
script
lang=
'ts'
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
"vue-property-decorator"
;
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
'vue-property-decorator'
;
import
CodeListService
from
'@codelist/codelist-service'
;
@
Component
({})
export
default
class
AppRate
extends
Vue
{
...
...
@@ -20,7 +15,7 @@ export default class AppRate extends Vue {
* @type {any}
* @memberof AppRate
*/
@
Prop
()
public
value
?:
any
;
@
Prop
()
public
value
?:
any
;
/**
* 是否禁用
...
...
@@ -29,12 +24,117 @@ export default class AppRate extends Vue {
*/
@
Prop
()
public
disabled
?:
boolean
;
/**
* 下发数据
* @type {number}
* @memberof AppRate
*/
@
Prop
()
public
data
?:
any
;
/**
* 代码表服务对象
*
* @type {CodeListService}
* @memberof AppRate
*/
public
codeListService
:
CodeListService
=
new
CodeListService
({
$store
:
this
.
$store
});
/**
* 传递最大值
* @type {*}
* @memberof AppRate
*/
@
Prop
({
default
:
5
})
public
max
!
:
number
;
/**
* 应用上下文
* @type {*}
* @memberof AppRate
*/
@
Prop
()
context
:
any
;
/**
* 视图参数
* @type {*}
* @memberof AppRate
*/
@
Prop
()
viewparams
:
any
;
/**
* 临时上下文
* @type {*}
* @memberof AppRate
*/
@
Prop
()
localContext
:
any
;
/**
* 临时参数
* @type {*}
* @memberof AppRate
*/
@
Prop
()
localParam
:
any
;
/**
* 代码表标识
* @type {string}
* @memberof AppRate
*/
@
Prop
()
tag
?:
string
;
/**
* 代码表类型
* @type {string}
* @memberof AppRate
*/
@
Prop
()
codelistType
?:
string
;
/**
* 代码表值分隔符
* @type {string}
* @memberof AppRate
*/
@
Prop
({
default
:
','
})
valueSeparator
?:
string
;
/**
* 数据名称
* @type {*}
* @memberof AppRate
*/
@
Prop
()
name
:
any
;
/**
* 最大值
* @type {number}
* @memberof AppRate
*/
@
Prop
({
default
:
5
})
public
max
!
:
number
;
public
maxItem
:
number
=
5
;
/**
* 监听数据变化
*
* @memberof AppRate
*/
@
Watch
(
'data'
,{
immediate
:
true
,
deep
:
true
})
onDataChange
(
newVal
:
any
,
oldVal
:
any
)
{
if
(
newVal
){
if
(
this
.
tag
&&
this
.
codelistType
==
'DYNAMIC'
){
// 公共参数处理
let
data
:
any
=
{};
this
.
handlePublicParams
(
data
);
// 参数处理
let
_context
=
data
.
context
;
let
_param
=
data
.
param
;
this
.
codeListService
.
getItems
(
this
.
tag
,
_context
,
_param
).
then
((
res
:
any
)
=>
{
const
items
=
res
;
// 获取最大值
const
maxItem
=
Math
.
max
.
apply
(
Math
,
items
.
map
((
item
:
any
)
=>
{
return
item
.
value
;
}));
this
.
maxItem
=
maxItem
>
5
?
5
:
maxItem
;
}).
catch
((
error
:
any
)
=>
{
console
.
log
(
`----
${
this
.
tag
}
----$t('components.appCheckBox.notExist')`
);
});
}
}
}
/**
* 当前值
...
...
@@ -42,20 +142,84 @@ export default class AppRate extends Vue {
* @memberof AppRate
*/
get
currentVal
()
{
return
this
.
value
;
return
Number
(
this
.
value
)
;
}
/**
* change
*/
public
change
(
val
:
any
)
{
this
.
$emit
(
"change"
,
val
);
this
.
$emit
(
'change'
,
val
);
}
/**
* Vue生命周期
* @memberof AppRate
*/
public
created
()
{
if
(
this
.
max
)
{
this
.
maxItem
=
this
.
max
;
}
this
.
handleCodelist
();
}
/**
* 公共参数处理
*
* @param {*} arg
* @returns
* @memberof AppRate
*/
public
handlePublicParams
(
arg
:
any
)
{
// 合并表单参数
arg
.
param
=
this
.
viewparams
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
viewparams
))
:
{};
arg
.
context
=
this
.
context
?
JSON
.
parse
(
JSON
.
stringify
(
this
.
context
))
:
{};
// 附加参数处理
if
(
this
.
localContext
&&
Object
.
keys
(
this
.
localContext
).
length
>
0
)
{
let
_context
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
context
,
arg
.
param
,
this
.
localContext
);
Object
.
assign
(
arg
.
context
,
_context
);
}
if
(
this
.
localParam
&&
Object
.
keys
(
this
.
localParam
).
length
>
0
)
{
let
_param
=
this
.
$util
.
computedNavData
(
this
.
data
,
arg
.
param
,
arg
.
param
,
this
.
localParam
);
Object
.
assign
(
arg
.
param
,
_param
);
}
}
/**
* 根据代码表获取最大值
* @memberof AppRate
*/
public
handleCodelist
()
{
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
'STATIC'
))
{
const
codelist
=
this
.
$store
.
getters
.
getCodeList
(
this
.
tag
);
if
(
codelist
)
{
const
items
=
[...
JSON
.
parse
(
JSON
.
stringify
(
codelist
.
items
))];
// 获取最大值
const
maxItem
=
Math
.
max
.
apply
(
Math
,
items
.
map
((
item
:
any
)
=>
{
return
item
.
value
;
}));
this
.
maxItem
=
maxItem
>
5
?
5
:
maxItem
;
}
else
{
console
.
log
(
`----
${
this
.
tag
}
----$t('components.appCheckBox.notExist')`
);
}
}
else
if
(
this
.
tag
&&
Object
.
is
(
this
.
codelistType
,
'DYNAMIC'
))
{
// 公共参数处理
let
data
:
any
=
{};
this
.
handlePublicParams
(
data
);
// 参数处理
let
_context
=
data
.
context
;
let
_param
=
data
.
param
;
this
.
codeListService
.
getItems
(
this
.
tag
,
_context
,
_param
).
then
((
res
:
any
)
=>
{
const
items
=
res
;
// 获取最大值
let
maxItem
=
Math
.
max
.
apply
(
Math
,
items
.
map
((
item
:
any
)
=>
{
return
item
.
value
;
}));
this
.
maxItem
=
maxItem
>
5
?
5
:
maxItem
;
}).
catch
((
error
:
any
)
=>
{
console
.
log
(
`----
${
this
.
tag
}
----$t('components.appCheckBox.notExist')`
);
});
}
}
}
</
script
>
<
style
lang=
'less'
>
@import
"./app-rate.less"
;
<
style
lang=
"less"
>
@import
'./app-rate.less'
;
</
style
>
app_web/src/components/app-sort-bar/app-sort-bar.less
0 → 100644
浏览文件 @
5ac68a1c
.app-sort-bar{
padding: 6px 8px;
.ivu-row-flex.page-sort-bar{
width: 100%;
height: 30px;
position: relative;
.ivu-col{
border-radius: 2px;
user-select: none;
text-align: center;
margin: 0px 16px;
display: flex;
align-items: flex-end;
padding-bottom: 4px;
background-color: #FFF;
border: 1px solid #CCC;
margin-left: -1px;
.sort-field-text{
margin-left: 7px;
}
.caret-wrapper{
width: 15px;
display: inline-block;
position: relative;
top: 4px;
padding-bottom: 2px;
.ivu-icon{
display: block;
line-height: 0.5;
color: #c5c8ce;
}
}
}
// 悬浮样式
.ivu-col:hover{
border:1px solid #82bff7;
position:relative;
z-index:2;
.sort-field-text{
color: #82bff7;
}
}
// 选中样式
.sort-ascending, .sort-descending{
border:1px solid #82bff7;
position:relative;
z-index:2;
.sort-field-text{
color:#82bff7;
font-weight: 800;
}
}
.sort-ascending .caret-wrapper .ivu-icon.ivu-icon-md-arrow-dropup,
.sort-descending .caret-wrapper .ivu-icon.ivu-icon-md-arrow-dropdown{
color: #82bff7;
}
.issort {
position: absolute;
cursor: pointer;
top: 4px;
right: 10px;
}
}
}
.open-bar {
background-color: #EEF2F5;
}
\ No newline at end of file
app_web/src/components/app-sort-bar/app-sort-bar.vue
0 → 100644
浏览文件 @
5ac68a1c
<
template
>
<div
:class=
"['app-sort-bar', isSort ? 'open-bar' : '']"
>
<row
v-if=
"sortModel && sortModel.length>0"
class=
"page-sort-bar"
:gutter=
"10"
type=
"flex"
justify=
"start"
style=
"margin:0px;"
>
<template
v-for=
"(item, index) in sortModel"
>
<i-col
v-show=
"isSort"
:key=
"index"
:class=
"getSortClass(item)"
>
<div
@
click=
"sortItemClick(item)"
>
<span
class=
"sort-field-text"
>
{{
$t
(
'entities.'
+
entityName
+
'.fields.'
+
item
)
}}
</span>
<span
class=
"caret-wrapper"
>
<Icon
type=
"md-arrow-dropup"
/>
<Icon
type=
"md-arrow-dropdown"
/>
</span>
</div>
</i-col>
</
template
>
<div
class=
"issort"
@
click=
"handleSort"
>
<Icon
v-if=
"isSort"
type=
"ios-funnel-outline"
/>
<Icon
v-else
type=
"ios-funnel"
/>
{{ $t('components.appSortBar.title') }}
</div>
</row>
</div>
</template>
<
script
lang=
'ts'
>
import
{
Component
,
Vue
,
Prop
,
Model
,
Watch
}
from
"vue-property-decorator"
;
@
Component
({})
export
default
class
AppSortBar
extends
Vue
{
@
Prop
()
public
sortModel
!
:
any
[];
@
Prop
()
public
sortField
!
:
any
;
@
Prop
()
public
sortDir
!
:
any
;
@
Prop
()
public
entityName
!
:
string
;
public
isSort
:
boolean
=
false
;
public
getSortClass
(
name
:
any
)
{
if
(
this
.
sortField
!==
name
||
this
.
sortDir
===
''
){
return
''
;
}
else
if
(
this
.
sortDir
===
'asc'
){
return
'sort-ascending'
}
else
if
(
this
.
sortDir
===
'desc'
){
return
'sort-descending'
}
}
public
sortItemClick
(
name
:
string
)
{
console
.
log
(
name
);
this
.
$emit
(
'clickSort'
,
name
);
}
public
handleSort
()
{
this
.
isSort
=
!
this
.
isSort
;
}
}
</
script
>
<
style
lang=
"less"
>
@import './app-sort-bar.less';
</
style
>
\ No newline at end of file
app_web/src/components/app-vue-pivottable/app-vue-pivottable.vue
0 → 100644
浏览文件 @
5ac68a1c
<
template
>
<vue-pivottable-ui
class=
"app-vue-pivottable"
:data=
"datas"
:aggregatorName=
"aggregatorName"
:rendererName=
"rendererName"
:columns=
"columns"
:rows=
"rows"
:cols=
"cols"
:vals=
"vals"
:locales=
"locales"
:rowTotal=
"rowTotal"
:colTotal=
"colTotal"
:onChange=
"onChange"
:hiddenFromDragDrop=
"hiddenFromDragDrop"
>
</vue-pivottable-ui>
</
template
>
<
script
lang =
'ts'
>
import
{
Vue
,
Component
,
Prop
}
from
'vue-property-decorator'
;
import
{
VuePivottableUi
}
from
'ibiz-vue-pivottable'
;
import
'ibiz-vue-pivottable/dist/vue-pivottable.css'
;
@
Component
({
components
:
{
VuePivottableUi
}
})
export
default
class
AppVuePivotTable
extends
Vue
{
/**
* 数据集
*
* @type {*}
* @memberof AppVuePivotTable
*/
@
Prop
()
datas
:
any
;
/**
* 列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
@
Prop
()
allColumns
:
any
;
/**
* 聚合模式
*
* @type {string}
* @memberof AppVuePivotTable
*/
protected
aggregatorName
:
string
=
'Sum'
;
/**
* 渲染模式
*
* @type {string}
* @memberof AppVuePivotTable
*/
protected
rendererName
:
string
=
'Table Heatmap'
;
/**
* 行统计
*
* @type {boolean}
* @memberof AppVuePivotTable
*/
protected
rowTotal
:
boolean
=
true
;
/**
* 列统计
*
* @type {boolean}
* @memberof AppVuePivotTable
*/
protected
colTotal
:
boolean
=
true
;
/**
* 列属性列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
cols
:
any
[]
=
[];
/**
* 行属性列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
rows
:
any
[]
=
[];
/**
* 值属性集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
vals
:
any
[]
=
[];
/**
* 隐藏列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
hiddenFromDragDrop
:
any
[]
=
[];
/**
* 展现列集合
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
columns
:
any
[]
=
[];
/**
* 语言资源
*
* @type {*}
* @memberof AppVuePivotTable
*/
protected
locales
:
any
=
{
aggregators
:
{
'Count'
:
'Count'
,
'Count Unique Values'
:
'Count Unique Values'
,
'List Unique Values'
:
'List Unique Values'
,
'Sum'
:
'Sum'
,
'Integer Sum'
:
'Integer Sum'
,
'Average'
:
'Average'
,
'Median'
:
'Median'
,
'Sample Variance'
:
'Sample Variance'
,
'Sample Standard Deviation'
:
'Sample Standard Deviation'
,
'Minimum'
:
'Minimum'
,
'Maximum'
:
'Maximum'
,
'First'
:
'First'
,
'Last'
:
'Last'
,
'Sum over Sum'
:
'Sum over Sum'
,
'Sum as Fraction of Total'
:
'Sum as Fraction of Total'
,
'Sum as Fraction of Rows'
:
'Sum as Fraction of Rows'
,
'Sum as Fraction of Columns'
:
'Sum as Fraction of Columns'
,
'Count as Fraction of Total'
:
'Count as Fraction of Total'
,
'Count as Fraction of Rows'
:
'Count as Fraction of Rows'
,
'Count as Fraction of Columns'
:
'Count as Fraction of Columns'
},
renderer
:
{
'Table'
:
'Table'
,
'Table Heatmap'
:
'Table Heatmap'
,
'Table Col Heatmap'
:
'Table Col Heatmap'
,
'Table Row Heatmap'
:
'Table Row Heatmap'
,
'Expor Table TSV'
:
'Expor Table TSV'
,
'Grouped Column Chart'
:
'Grouped Column Chart'
,
'Stacked Column Chart'
:
'Stacked Column Chart'
,
'Grouped Bar Chart'
:
'Grouped Bar Chart'
,
'Stacked Bar Chart'
:
'Stacked Bar Chart'
,
'Line Chart'
:
'Line Chart'
,
'Dot Chart'
:
'Dot Chart'
,
'Area Chart'
:
'Area Chart'
,
'Scatter Chart'
:
'Scatter Chart'
,
'Multiple Pie Chart'
:
'Multiple Pie Chart'
},
'Filter Values'
:
'Filter Values'
,
'Select All'
:
'Select All'
,
'Deselect All'
:
'Deselect All'
,
'Totals'
:
'Totals'
};
/**
* 生命周期
*
* @type {*}
* @memberof AppVuePivotTable
*/
public
created
()
{
if
(
this
.
allColumns
)
{
this
.
allColumns
.
forEach
((
item
:
any
)
=>
{
if
(
!
item
.
show
)
{
this
.
hiddenFromDragDrop
.
push
(
item
.
name
);
}
let
col
:
any
=
{
...
item
};
col
.
prop
=
col
.
name
;
this
.
columns
.
push
(
col
);
});
}
}
/**
* 事件
*
* @type {*}
* @memberof AppVuePivotTable
*/
public
onChange
(
evt
:
any
)
{
console
.
log
(
evt
);
}
}
</
script
>
<
style
lang=
"less"
>
.app-vue-pivottable {
height: calc(100% - 1px);
.pvtTable {
min-width: 100%;
}
}
</
style
>
\ No newline at end of file
app_web/src/components/codelist/codelist.vue
浏览文件 @
5ac68a1c
...
...
@@ -3,9 +3,14 @@
<span
v-if=
"ifEmpty"
>
{{
$t
(
'codelist.'
+
tag
+
'.empty'
)
}}
</span>
<template
v-if=
"!ifEmpty"
>
<template
v-for=
"(item, index) in items"
>
<span>
{{
index
!=
0
?
textSeparator
:
''
}}
</span>
<i
v-if=
"item.iconCls"
:class=
"item.iconCls"
></i>
<span
:class=
"item.textCls"
:style=
"
{color:item.color}">
{{
isUseLangres
?
$t
(
item
.
text
)
:
item
.
text
}}
</span>
<div
class=
"codelist-item"
:key=
"index"
>
<i
v-if=
"item.iconcls"
:class=
"item.iconcls"
></i>
<img
v-if=
"item.icon"
:src=
"getIcon(item.icon)"
/>
<span
:class=
"item.class"
:style=
"
{ color: item.color }">
{{
isUseLangres
?
$t
(
item
.
text
)
:
item
.
text
}}
</span>
<span
v-if=
"index != items.length-1"
>
{{
textSeparator
}}
</span>
</div>
</
template
>
</template>
</div>
...
...
@@ -14,6 +19,7 @@
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Prop
,
Model
,
Watch
}
from
'vue-property-decorator'
;
import
CodeListService
from
"@/codelist/codelist-service"
;
import
{
Environment
}
from
'@/environments/environment'
;
@
Component
({})
export
default
class
CodeList
extends
Vue
{
...
...
@@ -288,14 +294,66 @@ export default class CodeList extends Vue {
}
}
/**
* 获取图片路径
*
* @param {*} arg
* @returns
* @memberof CodeList
*/
public
getIcon
(
arg
:
any
){
if
(
!
arg
){
return
;
}
if
(
Object
.
prototype
.
toString
.
call
(
arg
)
==
"[object String]"
){
try
{
let
targetData
:
any
=
JSON
.
parse
(
arg
);
if
(
Object
.
prototype
.
toString
.
call
(
targetData
)
==
"[object Array]"
){
if
(
targetData
&&
targetData
.
length
>
0
){
let
fileId
:
string
=
targetData
[
0
]
&&
targetData
[
0
].
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
}
else
if
(
Object
.
prototype
.
toString
.
call
(
targetData
)
===
'[object Object]'
){
let
fileId
:
string
=
targetData
&&
targetData
.
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
}
catch
(
error
)
{
return
arg
;
}
}
else
if
(
Object
.
prototype
.
toString
.
call
(
arg
)
==
"[object Array]"
){
if
(
arg
&&
arg
.
length
>
0
){
let
fileId
:
string
=
arg
[
0
]
&&
arg
[
0
].
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
}
else
if
(
Object
.
prototype
.
toString
.
call
(
arg
)
===
'[object Object]'
){
let
fileId
:
string
=
arg
&&
arg
.
id
;
return
Environment
.
BaseUrl
+
Environment
.
ExportFile
+
fileId
;
}
else
{
return
arg
;
}
}
}
</
script
>
<
style
lang=
'less'
>
.codelist {
display: flex;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
overflow: hidden;
.codelist-item{
display: flex;
align-items: center;
max-height: 32px;
padding: 0px 3px;
> img{
max-height: 32px;
width: auto;
margin-right: 6px;
border-radius: 50%;
}
}
}
</
style
>
\ No newline at end of file
app_web/src/components/dropdown-list/dropdown-list.vue
浏览文件 @
5ac68a1c
...
...
@@ -265,9 +265,8 @@ export default class DropDownList extends Vue {
this
.
loadData
();
}
});
}
else
{
this
.
loadData
();
}
this
.
loadData
();
}
/**
...
...
app_web/src/components/menu-icon/menu-icon.less
浏览文件 @
5ac68a1c
.menu-icon {
padding-right: 6px;
}
\ No newline at end of file
app_web/src/components/menu-icon/menu-icon.tsx
浏览文件 @
5ac68a1c
...
...
@@ -29,10 +29,10 @@ export class MenuIcon extends Vue {
public
render
():
any
{
if
(
this
.
item
)
{
if
(
this
.
item
.
iconcls
)
{
return
<
i
class=
{
this
.
item
.
iconcls
}
/>
return
<
i
class=
{
[
this
.
item
.
iconcls
,
'menu-icon'
]
}
/>
}
if
(
this
.
item
.
icon
)
{
return
<
img
src=
{
this
.
item
.
icon
}
/>
return
<
img
class=
"menu-icon"
src=
{
this
.
item
.
icon
}
/>
}
}
return
<
span
/>
...
...
app_web/src/engine/view/map-view-engine.ts
0 → 100644
浏览文件 @
5ac68a1c
import
MDViewEngine
from
'./md-view-engine'
;
/**
* 视图引擎基础
*
* @export
* @class GridViewEngine
* @extends {MDViewEngine}
*/
export
default
class
MapViewEngine
extends
MDViewEngine
{
/**
* 表格部件
*
* @type {*}
* @memberof GridViewEngine
*/
protected
map
:
any
;
/**
* Creates an instance of GridViewEngine.
* @memberof MapViewEngine
*/
constructor
()
{
super
();
}
/**
* 引擎初始化
*
* @param {*} [options={}]
* @memberof MapViewEngine
*/
public
init
(
options
:
any
=
{}):
void
{
this
.
map
=
options
.
map
;
super
.
init
(
options
);
}
/**
* 引擎加载
*
* @param {*} [opts={}]
* @memberof MapViewEngine
*/
public
load
(
opts
:
any
=
{},
isnotify
:
boolean
=
false
):
void
{
if
(
!
this
.
view
.
isformDruipart
){
super
.
load
(
opts
,
isnotify
);
}
else
{
if
(
isnotify
){
super
.
load
(
opts
,
isnotify
);
}
}
}
/**
* 获取多数据部件
*
* @returns {*}
* @memberof MapViewEngine
*/
public
getMDCtrl
():
any
{
return
this
.
map
;
}
}
\ No newline at end of file
app_web/src/engine/view/map-view9-engine.ts
0 → 100644
浏览文件 @
5ac68a1c
import
MapViewEngine
from
'./map-view-engine'
;
/**
* 视图引擎基础
*
* @export
* @class GridViewEngine
* @extends {MDViewEngine}
*/
export
default
class
MapView9Engine
extends
MapViewEngine
{
}
\ No newline at end of file
app_web/src/engine/view/view-engine.ts
浏览文件 @
5ac68a1c
...
...
@@ -197,7 +197,13 @@ export default class ViewEngine {
if
(
_item
&&
_item
[
'dataaccaction'
]
&&
_this
.
view
.
appUIService
){
let
dataActionResult
:
any
;
if
(
_item
.
uiaction
&&
(
Object
.
is
(
_item
.
uiaction
.
target
,
"NONE"
)
||
Object
.
is
(
_item
.
uiaction
.
target
,
""
))){
if
(
Object
.
is
(
_item
.
uiaction
.
target
,
""
)
&&
Object
.
is
(
_item
.
uiaction
.
tag
,
"Save"
)){
if
(
data
&&
Object
.
keys
(
data
).
length
>
0
){
dataActionResult
=
_this
.
view
.
appUIService
.
getAllOPPrivs
(
data
)[
_item
[
'dataaccaction'
]];
}
}
else
{
dataActionResult
=
_this
.
view
.
appUIService
.
getResourceOPPrivs
(
_item
[
'dataaccaction'
]);
}
}
else
{
if
(
data
&&
Object
.
keys
(
data
).
length
>
0
){
dataActionResult
=
_this
.
view
.
appUIService
.
getAllOPPrivs
(
data
)[
_item
[
'dataaccaction'
]];
...
...
app_web/src/engine/view/wfdyna-edit-view-engine.ts
浏览文件 @
5ac68a1c
...
...
@@ -18,13 +18,15 @@ export default class WFDynaEditViewEngine extends EditViewEngine {
}
/**
*
表单加载完成
*
引擎加载
*
* @param {*}
args
* @param {*}
[opts={}]
* @memberof WFDynaEditViewEngine
*/
public
onFormLoad
(
arg
:
any
):
void
{
super
.
onFormLoad
(
arg
);
public
load
(
opts
:
any
=
{}
):
void
{
if
(
this
.
view
.
getWFLinkModel
&&
this
.
view
.
getWFLinkModel
instanceof
Function
){
this
.
view
.
getWFLinkModel
();
}
}
}
\ No newline at end of file
app_web/src/locale/lanres/components/components_en_US.ts
浏览文件 @
5ac68a1c
...
...
@@ -375,5 +375,19 @@ export default {
false
:
'False'
,
deleteImageFailure
:
'Image deletion failed'
,
updateFailure
:
'Batch update file failed'
,
},
appMapPosition
:
{
submit
:
'Submit'
,
title
:
'Please select address'
},
appSortBar
:
{
title
:
'Sort'
},
appAfterTime
:{
minutesAgo
:
'minutes ago'
,
hoursAgo
:
'hours ago'
,
dayAgo
:
'days ago'
,
monthsAgo
:
'months ago'
,
yearsAgo
:
'years ago'
}
};
\ No newline at end of file
app_web/src/locale/lanres/components/components_zh_CN.ts
浏览文件 @
5ac68a1c
...
...
@@ -376,5 +376,19 @@ export default {
false
:
'取消'
,
deleteImageFailure
:
'删除图片失败'
,
updateFailure
:
'批量更新文件失败'
,
},
appMapPosition
:
{
submit
:
'确认'
,
title
:
'请选择地址'
},
appSortBar
:
{
title
:
'排序'
},
appAfterTime
:{
minutesAgo
:
'分钟前'
,
hoursAgo
:
'小时前'
,
dayAgo
:
'天前'
,
monthsAgo
:
'月前'
,
yearsAgo
:
'年前'
}
};
\ No newline at end of file
app_web/src/pages/uaa/index/main.ts
浏览文件 @
5ac68a1c
...
...
@@ -15,6 +15,15 @@ import 'view-design/dist/styles/iview.css';
import
'ibiz-vue-lib/lib/ibiz-vue-lib.css'
;
import
'@/styles/default.less'
;
import
VueAMap
from
'vue-amap'
;
Vue
.
use
(
VueAMap
);
VueAMap
.
initAMapApiLoader
({
key
:
'6ab2751103aea67e817c90a5528181b5'
,
plugin
:
[
"AMap.Geolocation"
,
"AMap.PlaceSearch"
,
"AMap.Geocoder"
,
"AMap.Autocomplete"
],
uiVersion
:
'1.1'
});
// 模拟数据
if
(
process
.
env
.
NODE_ENV
===
'development'
)
{
require
(
'@/mock'
);
...
...
app_web/src/pages/uaa/sys-app-grid-view/sys-app-grid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -9,7 +9,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"应用名"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"应用名"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
app_web/src/pages/uaa/sys-auth-log-grid-view/sys-auth-log-grid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -9,7 +9,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"用户全局名"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"用户全局名"
/>
<div
class=
'pull-right'
>
</div>
</div>
...
...
app_web/src/pages/uaa/sys-open-access-grid-view/sys-open-access-grid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -9,7 +9,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"开放平台"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"开放平台"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
app_web/src/pages/uaa/sys-permissiongrid-view/sys-permissiongrid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -9,7 +9,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"资源名称"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"资源名称"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
app_web/src/pages/uaa/sys-role-grid-view/sys-role-grid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -9,7 +9,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"角色名称"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"角色名称"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
app_web/src/pages/uaa/sys-role-permission-grid-view/sys-role-permission-grid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -6,7 +6,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"权限表标识"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"权限表标识"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
app_web/src/pages/uaa/sys-user-grid-view/sys-user-grid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -9,7 +9,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"用户姓名"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"用户姓名"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
app_web/src/pages/uaa/sys-user-rolegrid-view/sys-user-rolegrid-view-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -6,7 +6,7 @@
</div>
<div
class=
'content-container'
>
<div
style=
'margin-bottom: 6px;'
>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;'
placeholder=
"用户标识"
/>
<i-input
v-show=
"!isExpandSearchForm"
v-model=
"query"
search
enter-button
@
on-search=
"onSearch($event)"
class=
'quick-search-input'
style=
'max-width: 400px;
padding-left: 24px
'
placeholder=
"用户标识"
/>
<div
class=
'pull-right'
>
<div
class=
'toolbar-container'
>
<tooltip
:transfer=
"true"
:max-width=
"600"
>
...
...
app_web/src/service/sys-app/sys-app-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -184,4 +184,18 @@ export default class SysAppServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysapps/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysAppServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysapps/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-auth-log/sys-auth-log-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -184,4 +184,18 @@ export default class SysAuthLogServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysauthlogs/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysAuthLogServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysauthlogs/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-open-access/sys-open-access-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -184,4 +184,18 @@ export default class SysOpenAccessServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysopenaccesses/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysOpenAccessServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysopenaccesses/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-permission/sys-permission-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -185,4 +185,18 @@ export default class SysPermissionServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/syspermissions/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysPermissionServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/syspermissions/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-role-permission/sys-role-permission-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -304,4 +304,26 @@ export default class SysRolePermissionServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysrolepermissions/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysRolePermissionServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
if
(
context
.
sysrole
&&
true
){
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysroles/
${
context
.
sysrole
}
/sysrolepermissions/searchdefault`
,
tempData
,
isloading
);
}
if
(
context
.
syspermission
&&
true
){
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/syspermissions/
${
context
.
syspermission
}
/sysrolepermissions/searchdefault`
,
tempData
,
isloading
);
}
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysrolepermissions/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-role/sys-role-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -186,4 +186,18 @@ export default class SysRoleServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysroles/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysRoleServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysroles/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-user-auth/sys-user-auth-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -184,4 +184,18 @@ export default class SysUserAuthServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysuserauths/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysUserAuthServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysuserauths/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-user-role/sys-user-role-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -304,4 +304,26 @@ export default class SysUserRoleServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysuserroles/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysUserRoleServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
if
(
context
.
sysuser
&&
true
){
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysusers/
${
context
.
sysuser
}
/sysuserroles/searchdefault`
,
tempData
,
isloading
);
}
if
(
context
.
sysrole
&&
true
){
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysroles/
${
context
.
sysrole
}
/sysuserroles/searchdefault`
,
tempData
,
isloading
);
}
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysuserroles/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/service/sys-user/sys-user-service-base.ts
浏览文件 @
5ac68a1c
...
...
@@ -185,4 +185,18 @@ export default class SysUserServiceBase extends EntityService {
let
res
:
any
=
Http
.
getInstance
().
get
(
`/sysusers/fetchdefault`
,
tempData
,
isloading
);
return
res
;
}
/**
* searchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SysUserServiceBase
*/
public
async
searchDefault
(
context
:
any
=
{},
data
:
any
=
{},
isloading
?:
boolean
):
Promise
<
any
>
{
let
tempData
:
any
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
return
await
Http
.
getInstance
().
post
(
`/sysusers/searchdefault`
,
tempData
,
isloading
);
}
}
\ No newline at end of file
app_web/src/shims-vue.d.ts
浏览文件 @
5ac68a1c
...
...
@@ -10,3 +10,5 @@ declare module '@fullcalendar/interaction';
declare
module
'vue-grid-layout'
;
declare
module
'vue-print-nb'
;
declare
module
'vuedraggable'
;
declare
module
'ibiz-vue-pivottable'
;
declare
module
'vue-amap'
;
\ No newline at end of file
app_web/src/styles/default.less
浏览文件 @
5ac68a1c
...
...
@@ -97,7 +97,7 @@
border-color: rgb(221, 221, 221);
border-style: solid;
border-width: 0px 0px 1px;
margin: 0px 0px
11
px;
margin: 0px 0px
6
px;
padding: 6px 0px 2px;
> .header-container{
min-height: 42px;
...
...
app_web/src/widgets/sys-app/main-form/main-form-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -291,6 +291,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
formKeyItemName
:
string
=
'appid'
;
/**
* 是否自动加载
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isautoload
?:
boolean
;
/**
* 界面UI服务对象
*
...
...
@@ -644,6 +652,7 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
...
...
@@ -674,6 +683,11 @@ export default class MainBase extends Vue implements ControlInterface {
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
);
...
...
@@ -686,7 +700,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
if
(
!
this
.
data
[
name
]
&&
this
.
data
[
name
]
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
...
...
@@ -1274,6 +1288,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public
afterCreated
(){
if
(
this
.
isautoload
){
this
.
autoLoad
({
srfkey
:
this
.
context
.
documentcenter
});
}
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
...
...
@@ -2090,6 +2107,17 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
app_web/src/widgets/sys-app/main-form/main-form.less
浏览文件 @
5ac68a1c
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
app_web/src/widgets/sys-app/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-auth-log/default-searchform/default-searchform-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -55,14 +55,14 @@
</i-col>
<i-col
v-show=
"detailsModel.n_authtime_gtandeq.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'n_authtime_gtandeq'
:itemRules=
"this.rules.n_authtime_gtandeq"
class=
''
:caption=
"$t('entities.sysauthlog.default_searchform.details.n_authtime_gtandeq')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_authtime_gtandeq.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.n_authtime_gtandeq"
:disabled=
"detailsModel.n_authtime_gtandeq.disabled"
style=
"min-width: 150px; "
@
on-change=
"(val1, val2) =>
{ this.data.n_authtime_gtandeq = val1 }">
</date-picker>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
:value=
"data.n_authtime_gtandeq"
:disabled=
"detailsModel.n_authtime_gtandeq.disabled"
style=
"min-width: 150px; "
@
on-change=
"(val1, val2) =>
{ this.data.n_authtime_gtandeq = val1 }">
</date-picker>
</app-form-item>
</i-col>
<i-col
v-show=
"detailsModel.n_authtime_ltandeq.visible"
:style=
"
{}" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item
name=
'n_authtime_ltandeq'
:itemRules=
"this.rules.n_authtime_ltandeq"
class=
''
:caption=
"$t('entities.sysauthlog.default_searchform.details.n_authtime_ltandeq')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.n_authtime_ltandeq.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.n_authtime_ltandeq"
:disabled=
"detailsModel.n_authtime_ltandeq.disabled"
style=
"min-width: 150px; "
@
on-change=
"(val1, val2) =>
{ this.data.n_authtime_ltandeq = val1 }">
</date-picker>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
:value=
"data.n_authtime_ltandeq"
:disabled=
"detailsModel.n_authtime_ltandeq.disabled"
style=
"min-width: 150px; "
@
on-change=
"(val1, val2) =>
{ this.data.n_authtime_ltandeq = val1 }">
</date-picker>
</app-form-item>
...
...
app_web/src/widgets/sys-auth-log/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-open-access/main-form/main-form-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -105,7 +105,7 @@
</i-col>
<i-col
v-show=
"detailsModel.expires_time.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'expires_time'
:itemRules=
"this.rules().expires_time"
class=
''
:caption=
"$t('entities.sysopenaccess.main_form.details.expires_time')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.expires_time.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择时间..."
:value=
"data.expires_time"
:disabled=
"detailsModel.expires_time.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) =>
{ this.data.expires_time = val1 }">
</date-picker>
<date-picker
type=
"datetime"
:transfer=
"true"
format=
"yyyy-MM-dd HH:mm:ss"
:value=
"data.expires_time"
:disabled=
"detailsModel.expires_time.disabled"
style=
"min-width: 150px; width:160px;"
@
on-change=
"(val1, val2) =>
{ this.data.expires_time = val1 }">
</date-picker>
</app-form-item>
...
...
@@ -333,6 +333,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
formKeyItemName
:
string
=
''
;
/**
* 是否自动加载
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isautoload
?:
boolean
;
/**
* 界面UI服务对象
*
...
...
@@ -701,6 +709,7 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
...
...
@@ -731,6 +740,11 @@ export default class MainBase extends Vue implements ControlInterface {
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
);
...
...
@@ -743,7 +757,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
if
(
!
this
.
data
[
name
]
&&
this
.
data
[
name
]
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
...
...
@@ -1376,6 +1390,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public
afterCreated
(){
if
(
this
.
isautoload
){
this
.
autoLoad
({
srfkey
:
this
.
context
.
documentcenter
});
}
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
...
...
@@ -2191,6 +2208,17 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
app_web/src/widgets/sys-open-access/main-form/main-form.less
浏览文件 @
5ac68a1c
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
app_web/src/widgets/sys-open-access/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-permission/main-form/main-form-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -185,6 +185,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
formKeyItemName
:
string
=
''
;
/**
* 是否自动加载
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isautoload
?:
boolean
;
/**
* 界面UI服务对象
*
...
...
@@ -504,6 +512,7 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
...
...
@@ -534,6 +543,11 @@ export default class MainBase extends Vue implements ControlInterface {
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
);
...
...
@@ -546,7 +560,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
if
(
!
this
.
data
[
name
]
&&
this
.
data
[
name
]
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
...
...
@@ -1041,6 +1055,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public
afterCreated
(){
if
(
this
.
isautoload
){
this
.
autoLoad
({
srfkey
:
this
.
context
.
documentcenter
});
}
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
...
...
@@ -1856,6 +1873,17 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
app_web/src/widgets/sys-permission/main-form/main-form.less
浏览文件 @
5ac68a1c
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
app_web/src/widgets/sys-permission/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-role-permission/main-form/main-form-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -235,6 +235,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
formKeyItemName
:
string
=
''
;
/**
* 是否自动加载
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isautoload
?:
boolean
;
/**
* 界面UI服务对象
*
...
...
@@ -561,6 +569,7 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
...
...
@@ -591,6 +600,11 @@ export default class MainBase extends Vue implements ControlInterface {
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
);
...
...
@@ -603,7 +617,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
if
(
!
this
.
data
[
name
]
&&
this
.
data
[
name
]
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
...
...
@@ -1146,6 +1160,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public
afterCreated
(){
if
(
this
.
isautoload
){
this
.
autoLoad
({
srfkey
:
this
.
context
.
documentcenter
});
}
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
...
...
@@ -1961,6 +1978,17 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
app_web/src/widgets/sys-role-permission/main-form/main-form.less
浏览文件 @
5ac68a1c
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
app_web/src/widgets/sys-role-permission/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-role/main-form/main-form.less
浏览文件 @
5ac68a1c
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
app_web/src/widgets/sys-role/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-user-role/main-form/main-form-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -259,6 +259,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
formKeyItemName
:
string
=
'sys_user_roleid'
;
/**
* 是否自动加载
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isautoload
?:
boolean
;
/**
* 界面UI服务对象
*
...
...
@@ -593,6 +601,7 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
...
...
@@ -623,6 +632,11 @@ export default class MainBase extends Vue implements ControlInterface {
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
);
...
...
@@ -635,7 +649,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
if
(
!
this
.
data
[
name
]
&&
this
.
data
[
name
]
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
...
...
@@ -1178,6 +1192,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public
afterCreated
(){
if
(
this
.
isautoload
){
this
.
autoLoad
({
srfkey
:
this
.
context
.
documentcenter
});
}
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
...
...
@@ -1994,6 +2011,17 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
app_web/src/widgets/sys-user-role/main-form/main-form.less
浏览文件 @
5ac68a1c
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
app_web/src/widgets/sys-user-role/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-user/main-form/main-form-base.vue
浏览文件 @
5ac68a1c
...
...
@@ -282,6 +282,14 @@ export default class MainBase extends Vue implements ControlInterface {
*/
public
formKeyItemName
:
string
=
'userid'
;
/**
* 是否自动加载
*
* @type {boolean}
* @memberof MainBase
*/
@
Prop
({
default
:
false
})
public
isautoload
?:
boolean
;
/**
* 界面UI服务对象
*
...
...
@@ -624,6 +632,7 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
...
...
@@ -654,6 +663,11 @@ export default class MainBase extends Vue implements ControlInterface {
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
if
(
item
.
type
==
'GROUP'
){
falg
=
this
.
verifyDeRules
(
'group'
,
item
,
item
.
condOP
?
item
.
condOP
:
"AND"
);
...
...
@@ -666,7 +680,7 @@ export default class MainBase extends Vue implements ControlInterface {
if
(
!
falg
.
hasOwnProperty
(
"isPast"
)){
falg
.
isPast
=
true
;
}
if
(
!
this
.
data
[
name
]){
if
(
!
this
.
data
[
name
]
&&
this
.
data
[
name
]
!=
0
){
falg
.
isPast
=
true
;
}
return
falg
;
...
...
@@ -1209,6 +1223,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public
afterCreated
(){
if
(
this
.
isautoload
){
this
.
autoLoad
({
srfkey
:
this
.
context
.
documentcenter
});
}
if
(
this
.
viewState
)
{
this
.
viewStateEvent
=
this
.
viewState
.
subscribe
(({
tag
,
action
,
data
})
=>
{
if
(
!
Object
.
is
(
tag
,
this
.
name
))
{
...
...
@@ -2025,6 +2042,17 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
app_web/src/widgets/sys-user/main-form/main-form.less
浏览文件 @
5ac68a1c
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
app_web/src/widgets/sys-user/main-grid/main-grid-base.vue
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
config.xml
浏览文件 @
5ac68a1c
...
...
@@ -37,11 +37,6 @@
git clone -b master $para2 ibzuaa/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzuaa/
mvn clean package -Papi
cd ibzuaa-provider/ibzuaa-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzuaa-provider-api.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
...
...
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysAuthLogSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysOpenAccessSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysPSSystemSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysPermissionSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysRolePermissionSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysRoleSearchContext.java
浏览文件 @
5ac68a1c
...
...
@@ -31,7 +31,7 @@ public class SysRoleSearchContext extends QueryWrapperContext<SysRole> {
public
void
setN_sys_rolename_isnotnull
(
String
n_sys_rolename_isnotnull
)
{
this
.
n_sys_rolename_isnotnull
=
n_sys_rolename_isnotnull
;
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_sys_rolename_isnotnull
)){
if
(
this
.
n_sys_rolename_isnotnull
.
toString
().
equals
(
"1"
)){
if
(
this
.
n_sys_rolename_isnotnull
.
equals
(
"1"
)){
this
.
getSearchCond
().
isNotNull
(
"sys_rolename"
);
}
}
...
...
@@ -40,7 +40,7 @@ public class SysRoleSearchContext extends QueryWrapperContext<SysRole> {
public
void
setN_sys_rolename_isnull
(
String
n_sys_rolename_isnull
)
{
this
.
n_sys_rolename_isnull
=
n_sys_rolename_isnull
;
if
(!
ObjectUtils
.
isEmpty
(
this
.
n_sys_rolename_isnull
)){
if
(
this
.
n_sys_rolename_isnull
.
toString
().
equals
(
"1"
)){
if
(
this
.
n_sys_rolename_isnull
.
equals
(
"1"
)){
this
.
getSearchCond
().
isNull
(
"sys_rolename"
);
}
}
...
...
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysUserAuthSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysUserRoleSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysUserSearchContext.java
浏览文件 @
5ac68a1c
ibzuaa-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
5ac68a1c
...
...
@@ -6,7 +6,7 @@
<!--输出实体[SYS_AUTHLOG]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_authlog-1-1"
>
<changeSet
author=
"
root
"
id=
"tab-sys_authlog-1-1"
>
<createTable
tableName=
"IBZAUTHLOG"
>
<column
name=
"LOGID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_AUTHLOG_LOGID"
/>
...
...
@@ -32,7 +32,7 @@
<!--输出实体[SYS_OPEN_ACCESS]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_open_access-35-2"
>
<changeSet
author=
"
root
"
id=
"tab-sys_open_access-35-2"
>
<createTable
tableName=
"IBZOPENACCESS"
>
<column
name=
"ACCESSID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_OPEN_ACCESS_ACCESSID"
/>
...
...
@@ -64,7 +64,7 @@
<!--输出实体[SYS_PSSYSTEM]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_pssystem-1-3"
>
<changeSet
author=
"
root
"
id=
"tab-sys_pssystem-1-3"
>
<createTable
tableName=
"IBZPSSYSTEM"
>
<column
name=
"PSSYSTEMID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_PSSYSTEM_PSSYSTEMID"
/>
...
...
@@ -84,7 +84,7 @@
<!--输出实体[SYS_PERMISSION]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_permission-1-4"
>
<changeSet
author=
"
root
"
id=
"tab-sys_permission-1-4"
>
<createTable
tableName=
"IBZPERMISSION"
>
<column
name=
"SYS_PERMISSIONID"
remarks=
""
type=
"VARCHAR(200)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_PERMISSION_SYS_PERMISSI"
/>
...
...
@@ -106,7 +106,7 @@
<!--输出实体[SYS_ROLE]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_role-4-5"
>
<changeSet
author=
"
root
"
id=
"tab-sys_role-4-5"
>
<createTable
tableName=
"IBZROLE"
>
<column
name=
"SYS_ROLEID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_ROLE_SYS_ROLEID"
/>
...
...
@@ -130,7 +130,7 @@
<!--输出实体[SYS_ROLE_PERMISSION]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_role_permission-1-6"
>
<changeSet
author=
"
root
"
id=
"tab-sys_role_permission-1-6"
>
<createTable
tableName=
"IBZROLE_PERMISSION"
>
<column
name=
"SYS_ROLE_PERMISSIONID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_ROLE_PERMISSION_SYS_ROL"
/>
...
...
@@ -150,7 +150,7 @@
<!--输出实体[SYS_USER_AUTH]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_user_auth-20-7"
>
<changeSet
author=
"
root
"
id=
"tab-sys_user_auth-20-7"
>
<createTable
tableName=
"IBZUSERAUTH"
>
<column
name=
"AUTHID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_USER_AUTH_AUTHID"
/>
...
...
@@ -168,7 +168,7 @@
<!--输出实体[SYS_USER_ROLE]数据结构 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"tab-sys_user_role-1-8"
>
<changeSet
author=
"
root
"
id=
"tab-sys_user_role-1-8"
>
<createTable
tableName=
"IBZUSER_ROLE"
>
<column
name=
"SYS_USER_ROLEID"
remarks=
""
type=
"VARCHAR(100)"
>
<constraints
primaryKey=
"true"
primaryKeyName=
"PK_SYS_USER_ROLE_SYS_USER_ROLE"
/>
...
...
@@ -189,16 +189,16 @@
<!--输出实体[SYS_PSSYSTEM]外键关系 -->
<!--输出实体[SYS_PERMISSION]外键关系 -->
<!--输出实体[SYS_ROLE]外键关系 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"fk-sys_role-4-9"
>
<changeSet
author=
"
root
"
id=
"fk-sys_role-4-9"
>
<addForeignKeyConstraint
baseColumnNames=
"PROLEID"
baseTableName=
"IBZROLE"
constraintName=
"DER1N_SYS_ROLE_SYS_ROLE_PROLEI"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SYS_ROLEID"
referencedTableName=
"IBZROLE"
validate=
"true"
/>
</changeSet>
<!--输出实体[SYS_ROLE_PERMISSION]外键关系 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"fk-sys_role_permission-1-10"
>
<changeSet
author=
"
root
"
id=
"fk-sys_role_permission-1-10"
>
<addForeignKeyConstraint
baseColumnNames=
"SYS_PERMISSIONID"
baseTableName=
"IBZROLE_PERMISSION"
constraintName=
"DER1N_SYS_ROLE_PERMISSION_SYS_"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SYS_PERMISSIONID"
referencedTableName=
"IBZPERMISSION"
validate=
"true"
/>
</changeSet>
<!--输出实体[SYS_USER_AUTH]外键关系 -->
<!--输出实体[SYS_USER_ROLE]外键关系 -->
<changeSet
author=
"
a_A_5d9d78509
"
id=
"fk-sys_user_role-1-12"
>
<changeSet
author=
"
root
"
id=
"fk-sys_user_role-1-12"
>
<addForeignKeyConstraint
baseColumnNames=
"SYS_ROLEID"
baseTableName=
"IBZUSER_ROLE"
constraintName=
"DER1N_SYS_USER_ROLE_SYS_ROLE_S"
deferrable=
"false"
initiallyDeferred=
"false"
onDelete=
"RESTRICT"
onUpdate=
"RESTRICT"
referencedColumnNames=
"SYS_ROLEID"
referencedTableName=
"IBZROLE"
validate=
"true"
/>
</changeSet>
...
...
ibzuaa-core/src/main/resources/permission/systemResource.json
浏览文件 @
5ac68a1c
...
...
@@ -4,72 +4,80 @@
],
"entities"
:[
{
"dename"
:
"Sys
RolePermission
"
,
"delogicname"
:
"
角色权限关系
"
,
"dename"
:
"Sys
App
"
,
"delogicname"
:
"
应用
"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
,
{
"dename"
:
"Sys
User
"
,
"delogicname"
:
"
系统用户
"
,
"dename"
:
"Sys
AuthLog
"
,
"delogicname"
:
"
认证日志
"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}
,
{
"id"
:
"curorg"
,
"name"
:
"当前单位"
},{
"id"
:
"porg"
,
"name"
:
"上级单位"
},{
"id"
:
"sorg"
,
"name"
:
"下级单位"
}
]
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
,
{
"dename"
:
"Sys
AuthLog
"
,
"delogicname"
:
"
认证日志
"
,
"dename"
:
"Sys
OpenAccess
"
,
"delogicname"
:
"
第三方认证平台
"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
,
{
"dename"
:
"SysUserAuth"
,
"delogicname"
:
"账号绑定"
,
"dename"
:
"SysPSSystem"
,
"delogicname"
:
"系统"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
},{
"id"
:
"Pick"
,
"name"
:
"Pick"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"PrepareApps"
,
"name"
:
"PrepareApps"
,
"type"
:
"USERCUSTOM"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
},{
"id"
:
"SyncPermission"
,
"name"
:
"SyncPermission"
,
"type"
:
"USERCUSTOM"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
,
{
"dename"
:
"SysPermission"
,
"delogicname"
:
"权限/资源"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
,
{
"dename"
:
"Sys
OpenAccess
"
,
"delogicname"
:
"
第三方认证平台
"
,
"dename"
:
"Sys
Role
"
,
"delogicname"
:
"
系统角色
"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}
,
{
"id"
:
"createman"
,
"name"
:
"创建人"
}
]
}
,
{
"dename"
:
"Sys
UserRole
"
,
"delogicname"
:
"
用户角色
关系"
,
"dename"
:
"Sys
RolePermission
"
,
"delogicname"
:
"
角色权限
关系"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
,
{
"dename"
:
"Sys
Role
"
,
"delogicname"
:
"系统
角色
"
,
"dename"
:
"Sys
User
"
,
"delogicname"
:
"系统
用户
"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
},
{
"id"
:
"c
reateman"
,
"name"
:
"创建人"
}
]
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
},
{
"id"
:
"c
urorg"
,
"name"
:
"当前单位"
},{
"id"
:
"porg"
,
"name"
:
"上级单位"
},{
"id"
:
"sorg"
,
"name"
:
"下级单位"
}
]
}
,
{
"dename"
:
"Sys
Permission
"
,
"delogicname"
:
"
权限/资源
"
,
"dename"
:
"Sys
UserAuth
"
,
"delogicname"
:
"
账号绑定
"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
"datascope"
:[{
"id"
:
"all"
,
"name"
:
"全部数据"
}]
}
,
{
"dename"
:
"Sys
App
"
,
"delogicname"
:
"
应用
"
,
"dename"
:
"Sys
UserRole
"
,
"delogicname"
:
"
用户角色关系
"
,
"sysmoudle"
:{
"id"
:
"UAA"
,
"name"
:
"uaa"
},
"dedataset"
:[{
"id"
:
"Default"
,
"name"
:
"DEFAULT"
}],
"deaction"
:[{
"id"
:
"Create"
,
"name"
:
"Create"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Update"
,
"name"
:
"Update"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Remove"
,
"name"
:
"Remove"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Get"
,
"name"
:
"Get"
,
"type"
:
"BUILTIN"
},{
"id"
:
"GetDraft"
,
"name"
:
"GetDraft"
,
"type"
:
"BUILTIN"
},{
"id"
:
"CheckKey"
,
"name"
:
"CheckKey"
,
"type"
:
"BUILTIN"
},{
"id"
:
"Save"
,
"name"
:
"Save"
,
"type"
:
"BUILTIN"
}],
...
...
ibzuaa-core/src/main/resources/sysmodel/ibzuaa.json
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
ibzuaa-provider/ibzuaa-provider-api/src/main/docker/Dockerfile
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
ibzuaa-provider/ibzuaa-provider-api/src/main/docker/ibzuaa-provider-api.yaml
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
ibzuaa-util/src/main/java/cn/ibizlab/util/domain/DTOBase.java
浏览文件 @
5ac68a1c
此差异已折叠。
点击以展开。
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录