Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
前端资源
RuoYi-Vue
提交
c9d19cbe
R
RuoYi-Vue
项目概览
前端资源
/
RuoYi-Vue
12 个月 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
RuoYi-Vue
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c9d19cbe
编写于
1月 02, 2022
作者:
R
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
空值不进行回显数据字典
上级
10ae0bce
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
169 addition
and
164 deletion
+169
-164
ruoyi-ui/src/utils/ruoyi.js
ruoyi-ui/src/utils/ruoyi.js
+169
-164
未找到文件。
ruoyi-ui/src/utils/ruoyi.js
浏览文件 @
c9d19cbe
/**
* 通用js方法封装处理
* Copyright (c) 2019 ruoyi
...
...
@@ -5,130 +7,133 @@
// 日期格式化
export
function
parseTime
(
time
,
pattern
)
{
if
(
arguments
.
length
===
0
||
!
time
)
{
return
null
}
const
format
=
pattern
||
'
{y}-{m}-{d} {h}:{i}:{s}
'
let
date
if
(
typeof
time
===
'
object
'
)
{
date
=
time
}
else
{
if
((
typeof
time
===
'
string
'
)
&&
(
/^
[
0-9
]
+$/
.
test
(
time
)))
{
time
=
parseInt
(
time
)
}
else
if
(
typeof
time
===
'
string
'
)
{
time
=
time
.
replace
(
new
RegExp
(
/-/gm
),
'
/
'
).
replace
(
'
T
'
,
'
'
).
replace
(
new
RegExp
(
/
\.[\d]{3}
/gm
),
''
);
}
if
((
typeof
time
===
'
number
'
)
&&
(
time
.
toString
().
length
===
10
))
{
time
=
time
*
1000
}
date
=
new
Date
(
time
)
}
const
formatObj
=
{
y
:
date
.
getFullYear
(),
m
:
date
.
getMonth
()
+
1
,
d
:
date
.
getDate
(),
h
:
date
.
getHours
(),
i
:
date
.
getMinutes
(),
s
:
date
.
getSeconds
(),
a
:
date
.
getDay
()
}
const
time_str
=
format
.
replace
(
/{
(
y|m|d|h|i|s|a
)
+}/g
,
(
result
,
key
)
=>
{
let
value
=
formatObj
[
key
]
// Note: getDay() returns 0 on Sunday
if
(
key
===
'
a
'
)
{
return
[
'
日
'
,
'
一
'
,
'
二
'
,
'
三
'
,
'
四
'
,
'
五
'
,
'
六
'
][
value
]
}
if
(
result
.
length
>
0
&&
value
<
10
)
{
value
=
'
0
'
+
value
}
return
value
||
0
})
return
time_str
if
(
arguments
.
length
===
0
||
!
time
)
{
return
null
}
const
format
=
pattern
||
'
{y}-{m}-{d} {h}:{i}:{s}
'
let
date
if
(
typeof
time
===
'
object
'
)
{
date
=
time
}
else
{
if
((
typeof
time
===
'
string
'
)
&&
(
/^
[
0-9
]
+$/
.
test
(
time
)))
{
time
=
parseInt
(
time
)
}
else
if
(
typeof
time
===
'
string
'
)
{
time
=
time
.
replace
(
new
RegExp
(
/-/gm
),
'
/
'
).
replace
(
'
T
'
,
'
'
).
replace
(
new
RegExp
(
/
\.[\d]{3}
/gm
),
''
);
}
if
((
typeof
time
===
'
number
'
)
&&
(
time
.
toString
().
length
===
10
))
{
time
=
time
*
1000
}
date
=
new
Date
(
time
)
}
const
formatObj
=
{
y
:
date
.
getFullYear
(),
m
:
date
.
getMonth
()
+
1
,
d
:
date
.
getDate
(),
h
:
date
.
getHours
(),
i
:
date
.
getMinutes
(),
s
:
date
.
getSeconds
(),
a
:
date
.
getDay
()
}
const
time_str
=
format
.
replace
(
/{
(
y|m|d|h|i|s|a
)
+}/g
,
(
result
,
key
)
=>
{
let
value
=
formatObj
[
key
]
// Note: getDay() returns 0 on Sunday
if
(
key
===
'
a
'
)
{
return
[
'
日
'
,
'
一
'
,
'
二
'
,
'
三
'
,
'
四
'
,
'
五
'
,
'
六
'
][
value
]
}
if
(
result
.
length
>
0
&&
value
<
10
)
{
value
=
'
0
'
+
value
}
return
value
||
0
})
return
time_str
}
// 表单重置
export
function
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
}
// 添加日期范围
export
function
addDateRange
(
params
,
dateRange
,
propName
)
{
let
search
=
params
;
search
.
params
=
typeof
(
search
.
params
)
===
'
object
'
&&
search
.
params
!==
null
&&
!
Array
.
isArray
(
search
.
params
)
?
search
.
params
:
{};
dateRange
=
Array
.
isArray
(
dateRange
)
?
dateRange
:
[];
if
(
typeof
(
propName
)
===
'
undefined
'
)
{
search
.
params
[
'
beginTime
'
]
=
dateRange
[
0
];
search
.
params
[
'
endTime
'
]
=
dateRange
[
1
];
}
else
{
search
.
params
[
'
begin
'
+
propName
]
=
dateRange
[
0
];
search
.
params
[
'
end
'
+
propName
]
=
dateRange
[
1
];
}
return
search
;
let
search
=
params
;
search
.
params
=
typeof
(
search
.
params
)
===
'
object
'
&&
search
.
params
!==
null
&&
!
Array
.
isArray
(
search
.
params
)
?
search
.
params
:
{};
dateRange
=
Array
.
isArray
(
dateRange
)
?
dateRange
:
[];
if
(
typeof
(
propName
)
===
'
undefined
'
)
{
search
.
params
[
'
beginTime
'
]
=
dateRange
[
0
];
search
.
params
[
'
endTime
'
]
=
dateRange
[
1
];
}
else
{
search
.
params
[
'
begin
'
+
propName
]
=
dateRange
[
0
];
search
.
params
[
'
end
'
+
propName
]
=
dateRange
[
1
];
}
return
search
;
}
// 回显数据字典
// 回显数据字典
export
function
selectDictLabel
(
datas
,
value
)
{
var
actions
=
[];
Object
.
keys
(
datas
).
some
((
key
)
=>
{
if
(
datas
[
key
].
value
==
(
''
+
value
))
{
actions
.
push
(
datas
[
key
].
label
);
return
true
;
}
})
return
actions
.
join
(
''
);
var
actions
=
[];
Object
.
keys
(
datas
).
some
((
key
)
=>
{
if
(
datas
[
key
].
value
==
(
''
+
value
))
{
actions
.
push
(
datas
[
key
].
label
);
return
true
;
}
})
return
actions
.
join
(
''
);
}
// 回显数据字典(字符串数组)
export
function
selectDictLabels
(
datas
,
value
,
separator
)
{
var
actions
=
[];
var
currentSeparator
=
undefined
===
separator
?
"
,
"
:
separator
;
var
temp
=
value
.
split
(
currentSeparator
);
Object
.
keys
(
value
.
split
(
currentSeparator
)).
some
((
val
)
=>
{
Object
.
keys
(
datas
).
some
((
key
)
=>
{
if
(
datas
[
key
].
value
==
(
''
+
temp
[
val
]))
{
actions
.
push
(
datas
[
key
].
label
+
currentSeparator
);
}
})
})
return
actions
.
join
(
''
).
substring
(
0
,
actions
.
join
(
''
).
length
-
1
);
if
(
value
===
undefined
)
{
return
""
;
}
var
actions
=
[];
var
currentSeparator
=
undefined
===
separator
?
"
,
"
:
separator
;
var
temp
=
value
.
split
(
currentSeparator
);
Object
.
keys
(
value
.
split
(
currentSeparator
)).
some
((
val
)
=>
{
Object
.
keys
(
datas
).
some
((
key
)
=>
{
if
(
datas
[
key
].
value
==
(
''
+
temp
[
val
]))
{
actions
.
push
(
datas
[
key
].
label
+
currentSeparator
);
}
})
})
return
actions
.
join
(
''
).
substring
(
0
,
actions
.
join
(
''
).
length
-
1
);
}
// 字符串格式化(%s )
export
function
sprintf
(
str
)
{
var
args
=
arguments
,
flag
=
true
,
i
=
1
;
str
=
str
.
replace
(
/%s/g
,
function
()
{
var
arg
=
args
[
i
++
];
if
(
typeof
arg
===
'
undefined
'
)
{
flag
=
false
;
return
''
;
}
return
arg
;
});
return
flag
?
str
:
''
;
var
args
=
arguments
,
flag
=
true
,
i
=
1
;
str
=
str
.
replace
(
/%s/g
,
function
()
{
var
arg
=
args
[
i
++
];
if
(
typeof
arg
===
'
undefined
'
)
{
flag
=
false
;
return
''
;
}
return
arg
;
});
return
flag
?
str
:
''
;
}
// 转换字符串,undefined,null等转化为""
export
function
parseStrEmpty
(
str
)
{
if
(
!
str
||
str
==
"
undefined
"
||
str
==
"
null
"
)
{
return
""
;
}
return
str
;
if
(
!
str
||
str
==
"
undefined
"
||
str
==
"
null
"
)
{
return
""
;
}
return
str
;
}
// 数据合并
export
function
mergeRecursive
(
source
,
target
)
{
for
(
var
p
in
target
)
{
try
{
if
(
target
[
p
].
constructor
==
Object
)
{
source
[
p
]
=
mergeRecursive
(
source
[
p
],
target
[
p
]);
}
else
{
source
[
p
]
=
target
[
p
];
}
}
catch
(
e
)
{
source
[
p
]
=
target
[
p
];
}
for
(
var
p
in
target
)
{
try
{
if
(
target
[
p
].
constructor
==
Object
)
{
source
[
p
]
=
mergeRecursive
(
source
[
p
],
target
[
p
]);
}
else
{
source
[
p
]
=
target
[
p
];
}
}
catch
(
e
)
{
source
[
p
]
=
target
[
p
];
}
return
source
;
}
return
source
;
};
/**
...
...
@@ -139,47 +144,47 @@ export function mergeRecursive(source, target) {
* @param {*} children 孩子节点字段 默认 'children'
*/
export
function
handleTree
(
data
,
id
,
parentId
,
children
)
{
let
config
=
{
id
:
id
||
'
id
'
,
parentId
:
parentId
||
'
parentId
'
,
childrenList
:
children
||
'
children
'
};
var
childrenListMap
=
{};
var
nodeIds
=
{};
var
tree
=
[];
for
(
let
d
of
data
)
{
let
parentId
=
d
[
config
.
parentId
];
if
(
childrenListMap
[
parentId
]
==
null
)
{
childrenListMap
[
parentId
]
=
[];
}
nodeIds
[
d
[
config
.
id
]]
=
d
;
childrenListMap
[
parentId
].
push
(
d
);
}
for
(
let
d
of
data
)
{
let
parentId
=
d
[
config
.
parentId
];
if
(
nodeIds
[
parentId
]
==
null
)
{
tree
.
push
(
d
);
}
}
for
(
let
t
of
tree
)
{
adaptToChildrenList
(
t
);
}
function
adaptToChildrenList
(
o
)
{
if
(
childrenListMap
[
o
[
config
.
id
]]
!==
null
)
{
o
[
config
.
childrenList
]
=
childrenListMap
[
o
[
config
.
id
]];
}
if
(
o
[
config
.
childrenList
])
{
for
(
let
c
of
o
[
config
.
childrenList
])
{
adaptToChildrenList
(
c
);
}
}
}
return
tree
;
let
config
=
{
id
:
id
||
'
id
'
,
parentId
:
parentId
||
'
parentId
'
,
childrenList
:
children
||
'
children
'
};
var
childrenListMap
=
{};
var
nodeIds
=
{};
var
tree
=
[];
for
(
let
d
of
data
)
{
let
parentId
=
d
[
config
.
parentId
];
if
(
childrenListMap
[
parentId
]
==
null
)
{
childrenListMap
[
parentId
]
=
[];
}
nodeIds
[
d
[
config
.
id
]]
=
d
;
childrenListMap
[
parentId
].
push
(
d
);
}
for
(
let
d
of
data
)
{
let
parentId
=
d
[
config
.
parentId
];
if
(
nodeIds
[
parentId
]
==
null
)
{
tree
.
push
(
d
);
}
}
for
(
let
t
of
tree
)
{
adaptToChildrenList
(
t
);
}
function
adaptToChildrenList
(
o
)
{
if
(
childrenListMap
[
o
[
config
.
id
]]
!==
null
)
{
o
[
config
.
childrenList
]
=
childrenListMap
[
o
[
config
.
id
]];
}
if
(
o
[
config
.
childrenList
])
{
for
(
let
c
of
o
[
config
.
childrenList
])
{
adaptToChildrenList
(
c
);
}
}
}
return
tree
;
}
/**
...
...
@@ -187,34 +192,34 @@ export function handleTree(data, id, parentId, children) {
* @param {*} params 参数
*/
export
function
tansParams
(
params
)
{
let
result
=
''
for
(
const
propName
of
Object
.
keys
(
params
))
{
const
value
=
params
[
propName
];
var
part
=
encodeURIComponent
(
propName
)
+
"
=
"
;
if
(
value
!==
null
&&
typeof
(
value
)
!==
"
undefined
"
)
{
if
(
typeof
value
===
'
object
'
)
{
for
(
const
key
of
Object
.
keys
(
value
))
{
if
(
value
[
key
]
!==
null
&&
typeof
(
value
[
key
])
!==
'
undefined
'
)
{
let
params
=
propName
+
'
[
'
+
key
+
'
]
'
;
var
subPart
=
encodeURIComponent
(
params
)
+
"
=
"
;
result
+=
subPart
+
encodeURIComponent
(
value
[
key
])
+
"
&
"
;
}
}
}
else
{
result
+=
part
+
encodeURIComponent
(
value
)
+
"
&
"
;
}
}
}
return
result
let
result
=
''
for
(
const
propName
of
Object
.
keys
(
params
))
{
const
value
=
params
[
propName
];
var
part
=
encodeURIComponent
(
propName
)
+
"
=
"
;
if
(
value
!==
null
&&
typeof
(
value
)
!==
"
undefined
"
)
{
if
(
typeof
value
===
'
object
'
)
{
for
(
const
key
of
Object
.
keys
(
value
))
{
if
(
value
[
key
]
!==
null
&&
typeof
(
value
[
key
])
!==
'
undefined
'
)
{
let
params
=
propName
+
'
[
'
+
key
+
'
]
'
;
var
subPart
=
encodeURIComponent
(
params
)
+
"
=
"
;
result
+=
subPart
+
encodeURIComponent
(
value
[
key
])
+
"
&
"
;
}
}
}
else
{
result
+=
part
+
encodeURIComponent
(
value
)
+
"
&
"
;
}
}
}
return
result
}
// 验证是否为blob格式
export
async
function
blobValidate
(
data
)
{
try
{
const
text
=
await
data
.
text
();
JSON
.
parse
(
text
);
return
false
;
}
catch
(
error
)
{
return
true
;
}
}
try
{
const
text
=
await
data
.
text
();
JSON
.
parse
(
text
);
return
false
;
}
catch
(
error
)
{
return
true
;
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录