Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzuaa
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzuaa
提交
30a56ec7
提交
30a56ec7
编写于
4年前
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
zoo457790531 发布系统代码 [ibiz-uaa,UAA鉴权]
上级
847cd493
变更
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
浏览文件 @
30a56ec7
...
...
@@ -12,3 +12,4 @@
**.iml
*.jar
*.log
.DS_Store
This diff is collapsed.
Click to expand it.
app_web/CHANGELOG.md
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/package.json
浏览文件 @
30a56ec7
...
...
@@ -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"
]
}
}
This diff is collapsed.
Click to expand it.
app_web/public/assets/js/avue.min.js
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/codelist/codelist-service.ts
浏览文件 @
30a56ec7
...
...
@@ -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
;
}
/**
* 获取静态代码表
*
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-after-time/app-after-time.vue
0 → 100644
浏览文件 @
30a56ec7
<
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
This diff is collapsed.
Click to expand it.
app_web/src/components/app-alert-group/app-alert-group.vue
浏览文件 @
30a56ec7
...
...
@@ -110,4 +110,11 @@ export default class AppAlertGroup extends Vue {
});
}
}
</
script
>
\ No newline at end of file
</
script
>
<
style
lang=
"less"
>
.view-body-messages {
margin-top: -10px;
margin-bottom: 6px;
}
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/components/app-form-druipart/app-form-druipart.vue
浏览文件 @
30a56ec7
<
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 生命周期
*
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-form-item/app-form-item.less
浏览文件 @
30a56ec7
...
...
@@ -10,7 +10,9 @@
}
.app-form-item-label {
padding: 6px 10px 6px 0px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-form-item/app-form-item.vue
浏览文件 @
30a56ec7
...
...
@@ -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'
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/app-input-ip/app-input-ip.less
0 → 100644
浏览文件 @
30a56ec7
input{
border-radius: 4px;
border:1px solid #888;
padding: 2px 10px;
width: 20%;
}
This diff is collapsed.
Click to expand it.
app_web/src/components/app-input-ip/app-input-ip.vue
0 → 100644
浏览文件 @
30a56ec7
<
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
>
This diff is collapsed.
Click to expand it.
app_web/src/components/app-map-position/app-map-position.less
0 → 100644
浏览文件 @
30a56ec7
.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
This diff is collapsed.
Click to expand it.
app_web/src/components/app-map-position/app-map-position.vue
0 → 100644
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/components/app-rate/app-rate.vue
浏览文件 @
30a56ec7
<
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
{
/**
* 传入值
* @type {any}
* @memberof AppRate
*/
@
Prop
()
public
value
?:
any
;
/**
* 是否禁用
* @type {boolean}
* @memberof AppRate
*/
@
Prop
()
public
disabled
?:
boolean
;
/**
* 最大值
* @type {number}
* @memberof AppRate
*/
@
Prop
({
default
:
5
})
public
max
!
:
number
;
/**
* 当前值
*
* @memberof AppRate
*/
get
currentVal
()
{
return
this
.
value
;
}
/**
* change
*/
public
change
(
val
:
any
)
{
this
.
$emit
(
"change"
,
val
);
}
/**
* 传入值
* @type {any}
* @memberof AppRate
*/
@
Prop
()
public
value
?:
any
;
/**
* 是否禁用
* @type {boolean}
* @memberof AppRate
*/
@
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
*/
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')`
);
});
}
}
}
/**
* 当前值
*
* @memberof AppRate
*/
get
currentVal
()
{
return
Number
(
this
.
value
);
}
/**
* change
*/
public
change
(
val
:
any
)
{
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
>
\ No newline at end of file
<
style
lang=
"less"
>
@import './app-rate.less';
</
style
>
This diff is collapsed.
Click to expand it.
app_web/src/components/app-sort-bar/app-sort-bar.less
0 → 100644
浏览文件 @
30a56ec7
.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
This diff is collapsed.
Click to expand it.
app_web/src/components/app-sort-bar/app-sort-bar.vue
0 → 100644
浏览文件 @
30a56ec7
<
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
This diff is collapsed.
Click to expand it.
app_web/src/components/app-vue-pivottable/app-vue-pivottable.vue
0 → 100644
浏览文件 @
30a56ec7
<
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
This diff is collapsed.
Click to expand it.
app_web/src/components/codelist/codelist.vue
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/components/dropdown-list/dropdown-list.vue
浏览文件 @
30a56ec7
...
...
@@ -265,9 +265,8 @@ export default class DropDownList extends Vue {
this
.
loadData
();
}
});
}
else
{
this
.
loadData
();
}
this
.
loadData
();
}
/**
...
...
This diff is collapsed.
Click to expand it.
app_web/src/components/menu-icon/menu-icon.less
浏览文件 @
30a56ec7
.menu-icon {
padding-right: 6px;
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/components/menu-icon/menu-icon.tsx
浏览文件 @
30a56ec7
...
...
@@ -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
/>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/engine/view/map-view-engine.ts
0 → 100644
浏览文件 @
30a56ec7
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
This diff is collapsed.
Click to expand it.
app_web/src/engine/view/map-view9-engine.ts
0 → 100644
浏览文件 @
30a56ec7
import
MapViewEngine
from
'./map-view-engine'
;
/**
* 视图引擎基础
*
* @export
* @class GridViewEngine
* @extends {MDViewEngine}
*/
export
default
class
MapView9Engine
extends
MapViewEngine
{
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/engine/view/view-engine.ts
浏览文件 @
30a56ec7
...
...
@@ -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
,
""
))){
dataActionResult
=
_this
.
view
.
appUIService
.
getResourceOPPrivs
(
_item
[
'dataaccaction'
]);
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'
]];
...
...
This diff is collapsed.
Click to expand it.
app_web/src/engine/view/wfdyna-edit-view-engine.ts
浏览文件 @
30a56ec7
...
...
@@ -18,13 +18,15 @@ export default class WFDynaEditViewEngine extends EditViewEngine {
}
/**
*
表单加载完成
*
引擎加载
*
* @param {*}
args
* @param {*}
[opts={}]
* @memberof WFDynaEditViewEngine
*/
public
onFormLoad
(
arg
:
any
):
void
{
super
.
onFormLoad
(
arg
);
this
.
view
.
getWFLinkModel
();
public
load
(
opts
:
any
=
{}):
void
{
if
(
this
.
view
.
getWFLinkModel
&&
this
.
view
.
getWFLinkModel
instanceof
Function
){
this
.
view
.
getWFLinkModel
();
}
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/locale/lanres/components/components_en_US.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/locale/lanres/components/components_zh_CN.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/index/main.ts
浏览文件 @
30a56ec7
...
...
@@ -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'
);
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-app-grid-view/sys-app-grid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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"
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-auth-log-grid-view/sys-auth-log-grid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-open-access-grid-view/sys-open-access-grid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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"
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-permissiongrid-view/sys-permissiongrid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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"
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-role-grid-view/sys-role-grid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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"
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-role-permission-grid-view/sys-role-permission-grid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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"
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-user-grid-view/sys-user-grid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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"
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/pages/uaa/sys-user-rolegrid-view/sys-user-rolegrid-view-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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"
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-app/sys-app-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-auth-log/sys-auth-log-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-open-access/sys-open-access-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-permission/sys-permission-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-role-permission/sys-role-permission-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-role/sys-role-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-user-auth/sys-user-auth-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-user-role/sys-user-role-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/service/sys-user/sys-user-service-base.ts
浏览文件 @
30a56ec7
...
...
@@ -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
This diff is collapsed.
Click to expand it.
app_web/src/shims-vue.d.ts
浏览文件 @
30a56ec7
...
...
@@ -9,4 +9,6 @@ declare module '@fullcalendar/list';
declare
module
'@fullcalendar/interaction'
;
declare
module
'vue-grid-layout'
;
declare
module
'vue-print-nb'
;
declare
module
'vuedraggable'
;
\ No newline at end of file
declare
module
'vuedraggable'
;
declare
module
'ibiz-vue-pivottable'
;
declare
module
'vue-amap'
;
\ No newline at end of file
This diff is collapsed.
Click to expand it.
app_web/src/styles/default.less
浏览文件 @
30a56ec7
...
...
@@ -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;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-app/main-form/main-form-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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,34 +652,40 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
...
...
@@ -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
))
{
...
...
@@ -2089,6 +2106,17 @@ export default class MainBase extends Vue implements ControlInterface {
public
updateDefault
(){
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-app/main-form/main-form.less
浏览文件 @
30a56ec7
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-app/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-auth-log/default-searchform/default-searchform-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-auth-log/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-open-access/main-form/main-form-base.vue
浏览文件 @
30a56ec7
...
...
@@ -56,7 +56,7 @@
</i-col>
<i-col
v-show=
"detailsModel.secret_key.visible"
:style=
"
{}" :lg="{ span: 24, offset: 0 }">
<app-form-item
name=
'secret_key'
:itemRules=
"this.rules().secret_key"
class=
''
:caption=
"$t('entities.sysopenaccess.main_form.details.secret_key')"
uiStyle=
"DEFAULT"
:labelWidth=
"130"
:isShowCaption=
"true"
:error=
"detailsModel.secret_key.error"
:isEmptyCaption=
"false"
labelPos=
"LEFT"
>
<i-input
type=
"password"
v-model=
"data.secret_key"
:disabled=
"detailsModel.secret_key.disabled"
style=
""
></i-input>
<i-input
type=
"password"
v-model=
"data.secret_key"
:disabled=
"detailsModel.secret_key.disabled"
style=
""
></i-input>
</app-form-item>
...
...
@@ -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,34 +709,40 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
...
...
@@ -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
))
{
...
...
@@ -2190,6 +2207,17 @@ export default class MainBase extends Vue implements ControlInterface {
public
updateDefault
(){
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-open-access/main-form/main-form.less
浏览文件 @
30a56ec7
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-open-access/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-permission/main-form/main-form-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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,34 +512,40 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
...
...
@@ -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
))
{
...
...
@@ -1855,6 +1872,17 @@ export default class MainBase extends Vue implements ControlInterface {
public
updateDefault
(){
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-permission/main-form/main-form.less
浏览文件 @
30a56ec7
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-permission/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-role-permission/main-form/main-form-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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,34 +569,40 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
...
...
@@ -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
))
{
...
...
@@ -1960,6 +1977,17 @@ export default class MainBase extends Vue implements ControlInterface {
public
updateDefault
(){
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-role-permission/main-form/main-form.less
浏览文件 @
30a56ec7
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-role-permission/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-role/main-form/main-form.less
浏览文件 @
30a56ec7
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-role/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-user-role/main-form/main-form-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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,34 +601,40 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
...
...
@@ -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
))
{
...
...
@@ -1993,6 +2010,17 @@ export default class MainBase extends Vue implements ControlInterface {
public
updateDefault
(){
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-user-role/main-form/main-form.less
浏览文件 @
30a56ec7
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-user-role/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
app_web/src/widgets/sys-user/main-form/main-form-base.vue
浏览文件 @
30a56ec7
...
...
@@ -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,34 +632,40 @@ export default class MainBase extends Vue implements ControlInterface {
startOp
(
true
);
return
falg
;
}
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
try
{
// 常规规则
if
(
item
.
type
==
'SIMPLE'
){
startOp
(
!
this
.
$verify
.
checkFieldSimpleRule
(
dataValue
,
item
.
condOP
,
item
.
paramValue
,
item
.
ruleInfo
,
item
.
paramType
,
this
.
data
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 数值范围
if
(
item
.
type
==
'VALUERANGE2'
){
startOp
(
!
this
.
$verify
.
checkFieldValueRangeRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 正则式
if
(
item
.
type
==
"REGEX"
)
{
startOp
(
!
this
.
$verify
.
checkFieldRegExRule
(
dataValue
,
item
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 长度
if
(
item
.
type
==
"STRINGLENGTH"
)
{
startOp
(
!
this
.
$verify
.
checkFieldStringLengthRule
(
dataValue
,
item
.
minValue
,
item
.
isIncludeMinValue
,
item
.
maxValue
,
item
.
isIncludeMaxValue
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
// 系统值规则
if
(
item
.
type
==
"SYSVALUERULE"
)
{
startOp
(
!
this
.
$verify
.
checkFieldSysValueRule
(
dataValue
,
item
.
sysRule
.
regExCode
,
item
.
ruleInfo
,
item
.
isKeyCond
));
falg
.
infoMessage
=
item
.
ruleInfo
;
if
(
!
falg
.
isPast
)
return
falg
;
}
}
catch
(
error
)
{
falg
.
infoMessage
=
item
.
ruleInfo
;
startOp
(
false
);
if
(
!
falg
.
isPast
)
return
falg
;
}
// 分组
...
...
@@ -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
))
{
...
...
@@ -2024,6 +2041,17 @@ export default class MainBase extends Vue implements ControlInterface {
public
updateDefault
(){
}
/**
* 面板数据变化处理事件
* @param {any} item 当前列数据
* @param {any} $event 面板事件数据
*
* @memberof MainBase
*/
public
onPanelDataChange
(
item
:
any
,
$event
:
any
)
{
Object
.
assign
(
item
,
$event
,
{
rowDataState
:
'update'
});
}
}
</
script
>
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-user/main-form/main-form.less
浏览文件 @
30a56ec7
...
...
@@ -6,6 +6,7 @@
}
.app-form {
overflow: auto;
padding: 6px;
> .ivu-row {
> .ivu-tabs {
height: 100%;
...
...
This diff is collapsed.
Click to expand it.
app_web/src/widgets/sys-user/main-grid/main-grid-base.vue
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
config.xml
浏览文件 @
30a56ec7
...
...
@@ -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>
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysAuthLogSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -90,7 +90,7 @@ public class SysAuthLogSearchContext extends QueryWrapperContext<SysAuthLog> {
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"username"
,
query
)
wrapper
.
like
(
"username"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysOpenAccessSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -51,7 +51,7 @@ public class SysOpenAccessSearchContext extends QueryWrapperContext<SysOpenAcces
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"accessname"
,
query
)
wrapper
.
like
(
"accessname"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysPSSystemSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -44,7 +44,7 @@ public class SysPSSystemSearchContext extends QueryWrapperContext<SysPSSystem> {
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"pssystemname"
,
query
)
wrapper
.
like
(
"pssystemname"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysPermissionSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -65,7 +65,7 @@ public class SysPermissionSearchContext extends QueryWrapperContext<SysPermissio
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"sys_permissionname"
,
query
)
wrapper
.
like
(
"sys_permissionname"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysRolePermissionSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -79,7 +79,7 @@ public class SysRolePermissionSearchContext extends QueryWrapperContext<SysRoleP
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"sys_permissionid"
,
query
)
wrapper
.
like
(
"sys_permissionid"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysRoleSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -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"
);
}
}
...
...
@@ -83,7 +83,7 @@ public class SysRoleSearchContext extends QueryWrapperContext<SysRole> {
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"sys_rolename"
,
query
)
wrapper
.
like
(
"sys_rolename"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysUserAuthSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -58,7 +58,7 @@ public class SysUserAuthSearchContext extends QueryWrapperContext<SysUserAuth> {
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"username"
,
query
)
wrapper
.
like
(
"username"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysUserRoleSearchContext.java
浏览文件 @
30a56ec7
...
...
@@ -65,7 +65,7 @@ public class SysUserRoleSearchContext extends QueryWrapperContext<SysUserRole> {
this
.
query
=
query
;
if
(!
StringUtils
.
isEmpty
(
query
)){
this
.
getSearchCond
().
and
(
wrapper
->
wrapper
.
like
(
"sys_userid"
,
query
)
wrapper
.
like
(
"sys_userid"
,
query
)
);
}
}
...
...
This diff is collapsed.
Click to expand it.
ibzuaa-core/src/main/java/cn/ibizlab/core/uaa/filter/SysUserSearchContext.java
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
ibzuaa-core/src/main/resources/liquibase/h2_table.xml
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
ibzuaa-core/src/main/resources/permission/systemResource.json
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
ibzuaa-core/src/main/resources/sysmodel/ibzuaa.json
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
ibzuaa-provider/ibzuaa-provider-api/src/main/docker/Dockerfile
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
ibzuaa-provider/ibzuaa-provider-api/src/main/docker/ibzuaa-provider-api.yaml
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
ibzuaa-util/src/main/java/cn/ibizlab/util/domain/DTOBase.java
浏览文件 @
30a56ec7
此差异已折叠。
点击以展开。
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录