Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
d00dc3b0
Unverified
Commit
d00dc3b0
authored
Feb 12, 2022
by
若依
Committed by
Gitee
Feb 12, 2022
Browse files
!426 修正单词拼写错误
Merge pull request !426 from 稚屿/master
parents
f5c69bae
c99eb980
Changes
22
Expand all
Hide whitespace changes
Inline
Side-by-side
ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
View file @
d00dc3b0
...
@@ -41,8 +41,7 @@ public class DictUtils
...
@@ -41,8 +41,7 @@ public class DictUtils
Object
cacheObj
=
SpringUtils
.
getBean
(
RedisCache
.
class
).
getCacheObject
(
getCacheKey
(
key
));
Object
cacheObj
=
SpringUtils
.
getBean
(
RedisCache
.
class
).
getCacheObject
(
getCacheKey
(
key
));
if
(
StringUtils
.
isNotNull
(
cacheObj
))
if
(
StringUtils
.
isNotNull
(
cacheObj
))
{
{
List
<
SysDictData
>
dictDatas
=
StringUtils
.
cast
(
cacheObj
);
return
StringUtils
.
cast
(
cacheObj
);
return
dictDatas
;
}
}
return
null
;
return
null
;
}
}
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java
View file @
d00dc3b0
...
@@ -18,8 +18,7 @@ public class ExceptionUtil
...
@@ -18,8 +18,7 @@ public class ExceptionUtil
{
{
StringWriter
sw
=
new
StringWriter
();
StringWriter
sw
=
new
StringWriter
();
e
.
printStackTrace
(
new
PrintWriter
(
sw
,
true
));
e
.
printStackTrace
(
new
PrintWriter
(
sw
,
true
));
String
str
=
sw
.
toString
();
return
sw
.
toString
();
return
str
;
}
}
public
static
String
getRootErrorMessage
(
Exception
e
)
public
static
String
getRootErrorMessage
(
Exception
e
)
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
View file @
d00dc3b0
...
@@ -99,9 +99,8 @@ public class ServletUtils
...
@@ -99,9 +99,8 @@ public class ServletUtils
*
*
* @param response 渲染对象
* @param response 渲染对象
* @param string 待渲染的字符串
* @param string 待渲染的字符串
* @return null
*/
*/
public
static
String
renderString
(
HttpServletResponse
response
,
String
string
)
public
static
void
renderString
(
HttpServletResponse
response
,
String
string
)
{
{
try
try
{
{
...
@@ -114,7 +113,6 @@ public class ServletUtils
...
@@ -114,7 +113,6 @@ public class ServletUtils
{
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
return
null
;
}
}
/**
/**
...
@@ -125,13 +123,13 @@ public class ServletUtils
...
@@ -125,13 +123,13 @@ public class ServletUtils
public
static
boolean
isAjaxRequest
(
HttpServletRequest
request
)
public
static
boolean
isAjaxRequest
(
HttpServletRequest
request
)
{
{
String
accept
=
request
.
getHeader
(
"accept"
);
String
accept
=
request
.
getHeader
(
"accept"
);
if
(
accept
!=
null
&&
accept
.
indexOf
(
"application/json"
)
!=
-
1
)
if
(
accept
!=
null
&&
accept
.
contains
(
"application/json"
))
{
{
return
true
;
return
true
;
}
}
String
xRequestedWith
=
request
.
getHeader
(
"X-Requested-With"
);
String
xRequestedWith
=
request
.
getHeader
(
"X-Requested-With"
);
if
(
xRequestedWith
!=
null
&&
xRequestedWith
.
indexOf
(
"XMLHttpRequest"
)
!=
-
1
)
if
(
xRequestedWith
!=
null
&&
xRequestedWith
.
contains
(
"XMLHttpRequest"
))
{
{
return
true
;
return
true
;
}
}
...
@@ -143,10 +141,6 @@ public class ServletUtils
...
@@ -143,10 +141,6 @@ public class ServletUtils
}
}
String
ajax
=
request
.
getParameter
(
"__ajax"
);
String
ajax
=
request
.
getParameter
(
"__ajax"
);
if
(
StringUtils
.
inStringIgnoreCase
(
ajax
,
"json"
,
"xml"
))
return
StringUtils
.
inStringIgnoreCase
(
ajax
,
"json"
,
"xml"
);
{
return
true
;
}
return
false
;
}
}
}
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/VerifyCodeUtils.java
View file @
d00dc3b0
...
@@ -208,7 +208,6 @@ public class VerifyCodeUtils
...
@@ -208,7 +208,6 @@ public class VerifyCodeUtils
int
period
=
random
.
nextInt
(
40
)
+
10
;
// 50;
int
period
=
random
.
nextInt
(
40
)
+
10
;
// 50;
boolean
borderGap
=
true
;
int
frames
=
20
;
int
frames
=
20
;
int
phase
=
7
;
int
phase
=
7
;
for
(
int
i
=
0
;
i
<
w1
;
i
++)
for
(
int
i
=
0
;
i
<
w1
;
i
++)
...
@@ -216,13 +215,9 @@ public class VerifyCodeUtils
...
@@ -216,13 +215,9 @@ public class VerifyCodeUtils
double
d
=
(
double
)
(
period
>>
1
)
double
d
=
(
double
)
(
period
>>
1
)
*
Math
.
sin
((
double
)
i
/
(
double
)
period
+
(
6.2831853071795862
D
*
(
double
)
phase
)
/
(
double
)
frames
);
*
Math
.
sin
((
double
)
i
/
(
double
)
period
+
(
6.2831853071795862
D
*
(
double
)
phase
)
/
(
double
)
frames
);
g
.
copyArea
(
i
,
0
,
1
,
h1
,
0
,
(
int
)
d
);
g
.
copyArea
(
i
,
0
,
1
,
h1
,
0
,
(
int
)
d
);
if
(
borderGap
)
g
.
setColor
(
color
);
{
g
.
drawLine
(
i
,
(
int
)
d
,
i
,
0
);
g
.
setColor
(
color
);
g
.
drawLine
(
i
,
(
int
)
d
+
h1
,
i
,
h1
);
g
.
drawLine
(
i
,
(
int
)
d
,
i
,
0
);
g
.
drawLine
(
i
,
(
int
)
d
+
h1
,
i
,
h1
);
}
}
}
}
}
}
}
\ No newline at end of file
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
View file @
d00dc3b0
...
@@ -2,6 +2,8 @@ package com.ruoyi.common.utils.file;
...
@@ -2,6 +2,8 @@ package com.ruoyi.common.utils.file;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.Objects
;
import
org.apache.commons.io.FilenameUtils
;
import
org.apache.commons.io.FilenameUtils
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
com.ruoyi.common.config.RuoYiConfig
;
import
com.ruoyi.common.config.RuoYiConfig
;
...
@@ -100,7 +102,7 @@ public class FileUploadUtils
...
@@ -100,7 +102,7 @@ public class FileUploadUtils
throws
FileSizeLimitExceededException
,
IOException
,
FileNameLengthLimitExceededException
,
throws
FileSizeLimitExceededException
,
IOException
,
FileNameLengthLimitExceededException
,
InvalidExtensionException
InvalidExtensionException
{
{
int
fileNamelength
=
file
.
getOriginalFilename
().
length
();
int
fileNamelength
=
Objects
.
requireNonNull
(
file
.
getOriginalFilename
()
)
.
length
();
if
(
fileNamelength
>
FileUploadUtils
.
DEFAULT_FILE_NAME_LENGTH
)
if
(
fileNamelength
>
FileUploadUtils
.
DEFAULT_FILE_NAME_LENGTH
)
{
{
throw
new
FileNameLengthLimitExceededException
(
FileUploadUtils
.
DEFAULT_FILE_NAME_LENGTH
);
throw
new
FileNameLengthLimitExceededException
(
FileUploadUtils
.
DEFAULT_FILE_NAME_LENGTH
);
...
@@ -112,8 +114,7 @@ public class FileUploadUtils
...
@@ -112,8 +114,7 @@ public class FileUploadUtils
File
desc
=
getAbsoluteFile
(
baseDir
,
fileName
);
File
desc
=
getAbsoluteFile
(
baseDir
,
fileName
);
file
.
transferTo
(
desc
);
file
.
transferTo
(
desc
);
String
pathFileName
=
getPathFileName
(
baseDir
,
fileName
);
return
getPathFileName
(
baseDir
,
fileName
);
return
pathFileName
;
}
}
/**
/**
...
@@ -145,8 +146,7 @@ public class FileUploadUtils
...
@@ -145,8 +146,7 @@ public class FileUploadUtils
{
{
int
dirLastIndex
=
RuoYiConfig
.
getProfile
().
length
()
+
1
;
int
dirLastIndex
=
RuoYiConfig
.
getProfile
().
length
()
+
1
;
String
currentDir
=
StringUtils
.
substring
(
uploadDir
,
dirLastIndex
);
String
currentDir
=
StringUtils
.
substring
(
uploadDir
,
dirLastIndex
);
String
pathFileName
=
Constants
.
RESOURCE_PREFIX
+
"/"
+
currentDir
+
"/"
+
fileName
;
return
Constants
.
RESOURCE_PREFIX
+
"/"
+
currentDir
+
"/"
+
fileName
;
return
pathFileName
;
}
}
/**
/**
...
@@ -161,7 +161,7 @@ public class FileUploadUtils
...
@@ -161,7 +161,7 @@ public class FileUploadUtils
throws
FileSizeLimitExceededException
,
InvalidExtensionException
throws
FileSizeLimitExceededException
,
InvalidExtensionException
{
{
long
size
=
file
.
getSize
();
long
size
=
file
.
getSize
();
if
(
DEFAULT_MAX_SIZE
!=
-
1
&&
size
>
DEFAULT_MAX_SIZE
)
if
(
size
>
DEFAULT_MAX_SIZE
)
{
{
throw
new
FileSizeLimitExceededException
(
DEFAULT_MAX_SIZE
/
1024
/
1024
);
throw
new
FileSizeLimitExceededException
(
DEFAULT_MAX_SIZE
/
1024
/
1024
);
}
}
...
@@ -228,7 +228,7 @@ public class FileUploadUtils
...
@@ -228,7 +228,7 @@ public class FileUploadUtils
String
extension
=
FilenameUtils
.
getExtension
(
file
.
getOriginalFilename
());
String
extension
=
FilenameUtils
.
getExtension
(
file
.
getOriginalFilename
());
if
(
StringUtils
.
isEmpty
(
extension
))
if
(
StringUtils
.
isEmpty
(
extension
))
{
{
extension
=
MimeTypeUtils
.
getExtension
(
file
.
getContentType
());
extension
=
MimeTypeUtils
.
getExtension
(
Objects
.
requireNonNull
(
file
.
getContentType
())
)
;
}
}
return
extension
;
return
extension
;
}
}
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java
View file @
d00dc3b0
...
@@ -59,7 +59,7 @@ public class ImageUtils
...
@@ -59,7 +59,7 @@ public class ImageUtils
/**
/**
* 读取文件为字节数据
* 读取文件为字节数据
*
*
* @param
key
地址
* @param
url
地址
* @return 字节数据
* @return 字节数据
*/
*/
public
static
byte
[]
readFile
(
String
url
)
public
static
byte
[]
readFile
(
String
url
)
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java
View file @
d00dc3b0
...
@@ -5,6 +5,7 @@ import java.io.IOException;
...
@@ -5,6 +5,7 @@ import java.io.IOException;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.io.InputStreamReader
;
import
java.nio.charset.Charset
;
import
java.nio.charset.Charset
;
import
java.nio.charset.StandardCharsets
;
import
javax.servlet.ServletRequest
;
import
javax.servlet.ServletRequest
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.apache.commons.lang3.exception.ExceptionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -25,7 +26,7 @@ public class HttpHelper
...
@@ -25,7 +26,7 @@ public class HttpHelper
BufferedReader
reader
=
null
;
BufferedReader
reader
=
null
;
try
(
InputStream
inputStream
=
request
.
getInputStream
())
try
(
InputStream
inputStream
=
request
.
getInputStream
())
{
{
reader
=
new
BufferedReader
(
new
InputStreamReader
(
inputStream
,
Charset
.
forName
(
"UTF-8"
)
));
reader
=
new
BufferedReader
(
new
InputStreamReader
(
inputStream
,
StandardCharsets
.
UTF_8
));
String
line
=
""
;
String
line
=
""
;
while
((
line
=
reader
.
readLine
())
!=
null
)
while
((
line
=
reader
.
readLine
())
!=
null
)
{
{
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
View file @
d00dc3b0
...
@@ -9,6 +9,7 @@ import java.net.ConnectException;
...
@@ -9,6 +9,7 @@ import java.net.ConnectException;
import
java.net.SocketTimeoutException
;
import
java.net.SocketTimeoutException
;
import
java.net.URL
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.URLConnection
;
import
java.nio.charset.StandardCharsets
;
import
java.security.cert.X509Certificate
;
import
java.security.cert.X509Certificate
;
import
javax.net.ssl.HostnameVerifier
;
import
javax.net.ssl.HostnameVerifier
;
import
javax.net.ssl.HttpsURLConnection
;
import
javax.net.ssl.HttpsURLConnection
;
...
@@ -130,9 +131,8 @@ public class HttpUtils
...
@@ -130,9 +131,8 @@ public class HttpUtils
StringBuilder
result
=
new
StringBuilder
();
StringBuilder
result
=
new
StringBuilder
();
try
try
{
{
String
urlNameString
=
url
;
log
.
info
(
"sendPost - {}"
,
url
);
log
.
info
(
"sendPost - {}"
,
urlNameString
);
URL
realUrl
=
new
URL
(
url
);
URL
realUrl
=
new
URL
(
urlNameString
);
URLConnection
conn
=
realUrl
.
openConnection
();
URLConnection
conn
=
realUrl
.
openConnection
();
conn
.
setRequestProperty
(
"accept"
,
"*/*"
);
conn
.
setRequestProperty
(
"accept"
,
"*/*"
);
conn
.
setRequestProperty
(
"connection"
,
"Keep-Alive"
);
conn
.
setRequestProperty
(
"connection"
,
"Keep-Alive"
);
...
@@ -144,7 +144,7 @@ public class HttpUtils
...
@@ -144,7 +144,7 @@ public class HttpUtils
out
=
new
PrintWriter
(
conn
.
getOutputStream
());
out
=
new
PrintWriter
(
conn
.
getOutputStream
());
out
.
print
(
param
);
out
.
print
(
param
);
out
.
flush
();
out
.
flush
();
in
=
new
BufferedReader
(
new
InputStreamReader
(
conn
.
getInputStream
(),
"utf-8"
));
in
=
new
BufferedReader
(
new
InputStreamReader
(
conn
.
getInputStream
(),
StandardCharsets
.
UTF_8
));
String
line
;
String
line
;
while
((
line
=
in
.
readLine
())
!=
null
)
while
((
line
=
in
.
readLine
())
!=
null
)
{
{
...
@@ -218,7 +218,7 @@ public class HttpUtils
...
@@ -218,7 +218,7 @@ public class HttpUtils
{
{
if
(
ret
!=
null
&&
!
""
.
equals
(
ret
.
trim
()))
if
(
ret
!=
null
&&
!
""
.
equals
(
ret
.
trim
()))
{
{
result
.
append
(
new
String
(
ret
.
getBytes
(
"
ISO
-
8859
-1"
),
"utf-8"
));
result
.
append
(
new
String
(
ret
.
getBytes
(
StandardCharsets
.
ISO
_
8859
_1
),
StandardCharsets
.
UTF_8
));
}
}
}
}
log
.
info
(
"recv - {}"
,
result
);
log
.
info
(
"recv - {}"
,
result
);
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
View file @
d00dc3b0
...
@@ -25,7 +25,6 @@ public class AddressUtils
...
@@ -25,7 +25,6 @@ public class AddressUtils
public
static
String
getRealAddressByIP
(
String
ip
)
public
static
String
getRealAddressByIP
(
String
ip
)
{
{
String
address
=
UNKNOWN
;
// 内网不查询
// 内网不查询
if
(
IpUtils
.
internalIp
(
ip
))
if
(
IpUtils
.
internalIp
(
ip
))
{
{
...
@@ -51,6 +50,6 @@ public class AddressUtils
...
@@ -51,6 +50,6 @@ public class AddressUtils
log
.
error
(
"获取地理位置异常 {}"
,
ip
);
log
.
error
(
"获取地理位置异常 {}"
,
ip
);
}
}
}
}
return
address
;
return
UNKNOWN
;
}
}
}
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
View file @
d00dc3b0
...
@@ -1121,7 +1121,7 @@ public class ExcelUtil<T>
...
@@ -1121,7 +1121,7 @@ public class ExcelUtil<T>
if
(
StringUtils
.
isNotEmpty
(
excel
.
targetAttr
()))
if
(
StringUtils
.
isNotEmpty
(
excel
.
targetAttr
()))
{
{
String
target
=
excel
.
targetAttr
();
String
target
=
excel
.
targetAttr
();
if
(
target
.
indexOf
(
"."
)
>
-
1
)
if
(
target
.
contains
(
"."
)
)
{
{
String
[]
targets
=
target
.
split
(
"[.]"
);
String
[]
targets
=
target
.
split
(
"[.]"
);
for
(
String
name
:
targets
)
for
(
String
name
:
targets
)
...
@@ -1216,7 +1216,7 @@ public class ExcelUtil<T>
...
@@ -1216,7 +1216,7 @@ public class ExcelUtil<T>
for
(
Object
[]
os
:
this
.
fields
)
for
(
Object
[]
os
:
this
.
fields
)
{
{
Excel
excel
=
(
Excel
)
os
[
1
];
Excel
excel
=
(
Excel
)
os
[
1
];
maxHeight
=
maxHeight
>
excel
.
height
()
?
maxHeight
:
excel
.
height
();
maxHeight
=
Math
.
max
(
maxHeight
,
excel
.
height
()
)
;
}
}
return
(
short
)
(
maxHeight
*
20
);
return
(
short
)
(
maxHeight
*
20
);
}
}
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Md5Utils.java
View file @
d00dc3b0
package
com.ruoyi.common.utils.sign
;
package
com.ruoyi.common.utils.sign
;
import
java.nio.charset.StandardCharsets
;
import
java.security.MessageDigest
;
import
java.security.MessageDigest
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -55,7 +56,7 @@ public class Md5Utils
...
@@ -55,7 +56,7 @@ public class Md5Utils
{
{
try
try
{
{
return
new
String
(
toHex
(
md5
(
s
)).
getBytes
(
"UTF-8"
),
"UTF-8"
);
return
new
String
(
toHex
(
md5
(
s
)).
getBytes
(
StandardCharsets
.
UTF_8
),
StandardCharsets
.
UTF_8
);
}
}
catch
(
Exception
e
)
catch
(
Exception
e
)
{
{
...
...
ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
View file @
d00dc3b0
...
@@ -50,10 +50,8 @@ public class SqlUtil
...
@@ -50,10 +50,8 @@ public class SqlUtil
return
;
return
;
}
}
String
[]
sqlKeywords
=
StringUtils
.
split
(
SQL_REGEX
,
"\\|"
);
String
[]
sqlKeywords
=
StringUtils
.
split
(
SQL_REGEX
,
"\\|"
);
for
(
int
i
=
0
;
i
<
sqlKeywords
.
length
;
i
++)
for
(
String
sqlKeyword
:
sqlKeywords
)
{
{
if
(
StringUtils
.
indexOfIgnoreCase
(
value
,
sqlKeyword
)
>
-
1
)
{
if
(
StringUtils
.
indexOfIgnoreCase
(
value
,
sqlKeywords
[
i
])
>
-
1
)
{
throw
new
UtilException
(
"参数存在SQL注入风险"
);
throw
new
UtilException
(
"参数存在SQL注入风险"
);
}
}
}
}
...
...
ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
View file @
d00dc3b0
...
@@ -151,8 +151,7 @@ public class GenUtils
...
@@ -151,8 +151,7 @@ public class GenUtils
{
{
int
lastIndex
=
packageName
.
lastIndexOf
(
"."
);
int
lastIndex
=
packageName
.
lastIndexOf
(
"."
);
int
nameLength
=
packageName
.
length
();
int
nameLength
=
packageName
.
length
();
String
moduleName
=
StringUtils
.
substring
(
packageName
,
lastIndex
+
1
,
nameLength
);
return
StringUtils
.
substring
(
packageName
,
lastIndex
+
1
,
nameLength
);
return
moduleName
;
}
}
/**
/**
...
@@ -165,8 +164,7 @@ public class GenUtils
...
@@ -165,8 +164,7 @@ public class GenUtils
{
{
int
lastIndex
=
tableName
.
lastIndexOf
(
"_"
);
int
lastIndex
=
tableName
.
lastIndexOf
(
"_"
);
int
nameLength
=
tableName
.
length
();
int
nameLength
=
tableName
.
length
();
String
businessName
=
StringUtils
.
substring
(
tableName
,
lastIndex
+
1
,
nameLength
);
return
StringUtils
.
substring
(
tableName
,
lastIndex
+
1
,
nameLength
);
return
businessName
;
}
}
/**
/**
...
...
ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
View file @
d00dc3b0
...
@@ -228,8 +228,7 @@ public class VelocityUtils
...
@@ -228,8 +228,7 @@ public class VelocityUtils
public
static
String
getPackagePrefix
(
String
packageName
)
public
static
String
getPackagePrefix
(
String
packageName
)
{
{
int
lastIndex
=
packageName
.
lastIndexOf
(
"."
);
int
lastIndex
=
packageName
.
lastIndexOf
(
"."
);
String
basePackage
=
StringUtils
.
substring
(
packageName
,
0
,
lastIndex
);
return
StringUtils
.
substring
(
packageName
,
0
,
lastIndex
);
return
basePackage
;
}
}
/**
/**
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
View file @
d00dc3b0
...
@@ -63,12 +63,9 @@ public class SysDeptServiceImpl implements ISysDeptService
...
@@ -63,12 +63,9 @@ public class SysDeptServiceImpl implements ISysDeptService
{
{
tempList
.
add
(
dept
.
getDeptId
());
tempList
.
add
(
dept
.
getDeptId
());
}
}
for
(
Iterator
<
SysDept
>
iterator
=
depts
.
iterator
();
iterator
.
hasNext
();)
for
(
SysDept
dept
:
depts
)
{
{
SysDept
dept
=
(
SysDept
)
iterator
.
next
();
// 如果是顶级节点, 遍历该父节点的所有子节点
// 如果是顶级节点, 遍历该父节点的所有子节点
if
(!
tempList
.
contains
(
dept
.
getParentId
()))
if
(!
tempList
.
contains
(
dept
.
getParentId
()))
{
{
recursionFn
(
depts
,
dept
);
recursionFn
(
depts
,
dept
);
returnList
.
add
(
dept
);
returnList
.
add
(
dept
);
}
}
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
View file @
d00dc3b0
...
@@ -498,7 +498,7 @@ public class SysMenuServiceImpl implements ISysMenuService
...
@@ -498,7 +498,7 @@ public class SysMenuServiceImpl implements ISysMenuService
*/
*/
private
boolean
hasChild
(
List
<
SysMenu
>
list
,
SysMenu
t
)
private
boolean
hasChild
(
List
<
SysMenu
>
list
,
SysMenu
t
)
{
{
return
getChildList
(
list
,
t
).
size
()
>
0
?
true
:
false
;
return
getChildList
(
list
,
t
).
size
()
>
0
;
}
}
/**
/**
...
...
ruoyi-ui/src/utils/generator/drawingDefa
l
ut.js
→
ruoyi-ui/src/utils/generator/drawingDefau
l
t.js
View file @
d00dc3b0
export
default
[
export
default
[
{
{
layout
:
'
colFormItem
'
,
layout
:
'
colFormItem
'
,
tagIcon
:
'
input
'
,
tagIcon
:
'
input
'
,
label
:
'
手机号
'
,
label
:
'
手机号
'
,
vModel
:
'
mobile
'
,
vModel
:
'
mobile
'
,
formId
:
6
,
formId
:
6
,
tag
:
'
el-input
'
,
tag
:
'
el-input
'
,
placeholder
:
'
请输入手机号
'
,
placeholder
:
'
请输入手机号
'
,
defaultValue
:
''
,
defaultValue
:
''
,
span
:
24
,
span
:
24
,
style
:
{
width
:
'
100%
'
},
style
:
{
width
:
'
100%
'
},
clearable
:
true
,
clearable
:
true
,
prepend
:
''
,
prepend
:
''
,
append
:
''
,
append
:
''
,
'
prefix-icon
'
:
'
el-icon-mobile
'
,
'
prefix-icon
'
:
'
el-icon-mobile
'
,
'
suffix-icon
'
:
''
,
'
suffix-icon
'
:
''
,
maxlength
:
11
,
maxlength
:
11
,
'
show-word-limit
'
:
true
,
'
show-word-limit
'
:
true
,
readonly
:
false
,
readonly
:
false
,
disabled
:
false
,
disabled
:
false
,
required
:
true
,
required
:
true
,
changeTag
:
true
,
changeTag
:
true
,
regList
:
[{
regList
:
[{
pattern
:
'
/^1(3|4|5|7|8|9)
\\
d{9}$/
'
,
pattern
:
'
/^1(3|4|5|7|8|9)
\\
d{9}$/
'
,
message
:
'
手机号格式错误
'
message
:
'
手机号格式错误
'
}]
}]
}
}
]
]
ruoyi-ui/src/utils/generator/html.js
View file @
d00dc3b0
This diff is collapsed.
Click to expand it.
ruoyi-ui/src/utils/generator/js.js
View file @
d00dc3b0
import
{
isArray
}
from
'
util
'
import
{
isArray
}
from
'
util
'
import
{
exportDefault
,
titleCase
}
from
'
@/utils/index
'
import
{
exportDefault
,
titleCase
}
from
'
@/utils/index
'
import
{
trigger
}
from
'
./config
'
import
{
trigger
}
from
'
./config
'
const
units
=
{
const
units
=
{
KB
:
'
1024
'
,
KB
:
'
1024
'
,
MB
:
'
1024 / 1024
'
,
MB
:
'
1024 / 1024
'
,
GB
:
'
1024 / 1024 / 1024
'
GB
:
'
1024 / 1024 / 1024
'
}
}
let
confGlobal
let
confGlobal
const
inheritAttrs
=
{
const
inheritAttrs
=
{
file
:
''
,
file
:
''
,
dialog
:
'
inheritAttrs: false,
'
dialog
:
'
inheritAttrs: false,
'
}
}
export
function
makeUpJs
(
conf
,
type
)
{
export
function
makeUpJs
(
conf
,
type
)
{
confGlobal
=
conf
=
JSON
.
parse
(
JSON
.
stringify
(
conf
))
confGlobal
=
conf
=
JSON
.
parse
(
JSON
.
stringify
(
conf
))
const
dataList
=
[]
const
dataList
=
[]
const
ruleList
=
[]
const
ruleList
=
[]
const
optionsList
=
[]
const
optionsList
=
[]
const
propsList
=
[]
const
propsList
=
[]
const
methodList
=
mixinMethod
(
type
)
const
methodList
=
mixinMethod
(
type
)
const
uploadVarList
=
[]
const
uploadVarList
=
[]
conf
.
fields
.
forEach
(
el
=>
{
conf
.
fields
.
forEach
(
el
=>
{
buildAttributes
(
el
,
dataList
,
ruleList
,
optionsList
,
methodList
,
propsList
,
uploadVarList
)
buildAttributes
(
el
,
dataList
,
ruleList
,
optionsList
,
methodList
,
propsList
,
uploadVarList
)
})
})
const
script
=
buildexport
(
const
script
=
buildexport
(
conf
,
conf
,
type
,
type
,
dataList
.
join
(
'
\n
'
),
dataList
.
join
(
'
\n
'
),
ruleList
.
join
(
'
\n
'
),
ruleList
.
join
(
'
\n
'
),
optionsList
.
join
(
'
\n
'
),
optionsList
.
join
(
'
\n
'
),
uploadVarList
.
join
(
'
\n
'
),
uploadVarList
.
join
(
'
\n
'
),
propsList
.
join
(
'
\n
'
),
propsList
.
join
(
'
\n
'
),
methodList
.
join
(
'
\n
'
)
methodList
.
join
(
'
\n
'
)
)
)
confGlobal
=
null
confGlobal
=
null
return
script
return
script
}
}
function
buildAttributes
(
el
,
dataList
,
ruleList
,
optionsList
,
methodList
,
propsList
,
uploadVarList
)
{
function
buildAttributes
(
el
,
dataList
,
ruleList
,
optionsList
,
methodList
,
propsList
,
uploadVarList
)
{
buildData
(
el
,
dataList
)
buildData
(
el
,
dataList
)
buildRules
(
el
,
ruleList
)
buildRules
(
el
,
ruleList
)
if
(
el
.
options
&&
el
.
options
.
length
)
{
if
(
el
.
options
&&
el
.
options
.
length
)
{
buildOptions
(
el
,
optionsList
)
buildOptions
(
el
,
optionsList
)
if
(
el
.
dataType
===
'
dynamic
'
)
{
if
(
el
.
dataType
===
'
dynamic
'
)
{
const
model
=
`
${
el
.
vModel
}
Options`
const
model
=
`
${
el
.
vModel
}
Options`
const
options
=
titleCase
(
model
)
const
options
=
titleCase
(
model
)
buildOptionMethod
(
`get
${
options
}
`
,
model
,
methodList
)
buildOptionMethod
(
`get
${
options
}
`
,
model
,
methodList
)
}
}
}
}
if
(
el
.
props
&&
el
.
props
.
props
)
{
if
(
el
.
props
&&
el
.
props
.
props
)
{
buildProps
(
el
,
propsList
)
buildProps
(
el
,
propsList
)
}
}
if
(
el
.
action
&&
el
.
tag
===
'
el-upload
'
)
{
if
(
el
.
action
&&
el
.
tag
===
'
el-upload
'
)
{
uploadVarList
.
push
(
uploadVarList
.
push
(
`
${
el
.
vModel
}
Action: '
${
el
.
action
}
',
`
${
el
.
vModel
}
Action: '
${
el
.
action
}
',
${
el
.
vModel
}
fileList: [],`
${
el
.
vModel
}
fileList: [],`
)
)
methodList
.
push
(
buildBeforeUpload
(
el
))
methodList
.
push
(
buildBeforeUpload
(
el
))
if
(
!
el
[
'
auto-upload
'
])
{
if
(
!
el
[
'
auto-upload
'
])
{
methodList
.
push
(
buildSubmitUpload
(
el
))
methodList
.
push
(
buildSubmitUpload
(
el
))
}
}
}
}
if
(
el
.
children
)
{
if
(
el
.
children
)
{
el
.
children
.
forEach
(
el2
=>
{
el
.
children
.
forEach
(
el2
=>
{
buildAttributes
(
el2
,
dataList
,
ruleList
,
optionsList
,
methodList
,
propsList
,
uploadVarList
)
buildAttributes
(
el2
,
dataList
,
ruleList
,
optionsList
,
methodList
,
propsList
,
uploadVarList
)
})
})
}
}
}
}
function
mixinMethod
(
type
)
{
function
mixinMethod
(
type
)
{
const
list
=
[];
const
const
list
=
[];
const
minxins
=
{
minxins
=
{
file
:
confGlobal
.
formBtns
?
{
file
:
confGlobal
.
formBtns
?
{
submitForm
:
`submitForm() {
submitForm
:
`submitForm() {
this.$refs['
${
confGlobal
.
formRef
}
'].validate(valid => {
this.$refs['
${
confGlobal
.
formRef
}
'].validate(valid => {
if(!valid) return
if(!valid) return
// TODO 提交表单
// TODO 提交表单
})
})
},`
,
},`
,
resetForm
:
`resetForm() {
resetForm
:
`resetForm() {
this.$refs['
${
confGlobal
.
formRef
}
'].resetFields()
this.$refs['
${
confGlobal
.
formRef
}
'].resetFields()
},`
},`
}
:
null
,
}
:
null
,
dialog
:
{
dialog
:
{
onOpen
:
'
onOpen() {},
'
,
onOpen
:
'
onOpen() {},
'
,
onClose
:
`onClose() {
onClose
:
`onClose() {
this.$refs['
${
confGlobal
.
formRef
}
'].resetFields()
this.$refs['
${
confGlobal
.
formRef
}
'].resetFields()
},`
,
},`
,
close
:
`close() {
close
:
`close() {
this.$emit('update:visible', false)
this.$emit('update:visible', false)
},`
,
},`
,
hand
e
lConfirm
:
`hand
e
lConfirm() {
handl
e
Confirm
:
`handl
e
Confirm() {
this.$refs['
${
confGlobal
.
formRef
}
'].validate(valid => {
this.$refs['
${
confGlobal
.
formRef
}
'].validate(valid => {
if(!valid) return
if(!valid) return
this.close()
this.close()
})
})
},`
},`
}
}
}
}
const
methods
=
minxins
[
type
]
const
methods
=
minxins
[
type
]
if
(
methods
)
{
if
(
methods
)
{
Object
.
keys
(
methods
).
forEach
(
key
=>
{
Object
.
keys
(
methods
).
forEach
(
key
=>
{
list
.
push
(
methods
[
key
])
list
.
push
(
methods
[
key
])
})
})
}
}
return
list
return
list
}
}
function
buildData
(
conf
,
dataList
)
{
function
buildData
(
conf
,
dataList
)
{
if
(
conf
.
vModel
===
undefined
)
return
if
(
conf
.
vModel
===
undefined
)
return
let
defaultValue
let
defaultValue
if
(
typeof
(
conf
.
defaultValue
)
===
'
string
'
&&
!
conf
.
multiple
)
{
if
(
typeof
(
conf
.
defaultValue
)
===
'
string
'
&&
!
conf
.
multiple
)
{
defaultValue
=
`'
${
conf
.
defaultValue
}
'`
defaultValue
=
`'
${
conf
.
defaultValue
}
'`
}
else
{
}
else
{
defaultValue
=
`
${
JSON
.
stringify
(
conf
.
defaultValue
)}
`
defaultValue
=
`
${
JSON
.
stringify
(
conf
.
defaultValue
)}
`
}
}
dataList
.
push
(
`
${
conf
.
vModel
}
:
${
defaultValue
}
,`
)
dataList
.
push
(
`
${
conf
.
vModel
}
:
${
defaultValue
}
,`
)
}
}
function
buildRules
(
conf
,
ruleList
)
{
function
buildRules
(
conf
,
ruleList
)
{
if
(
conf
.
vModel
===
undefined
)
return
if
(
conf
.
vModel
===
undefined
)
return
const
rules
=
[]
const
rules
=
[]
if
(
trigger
[
conf
.
tag
])
{
if
(
trigger
[
conf
.
tag
])
{
if
(
conf
.
required
)
{
if
(
conf
.
required
)
{
const
type
=
isArray
(
conf
.
defaultValue
)
?
'
type:
\'
array
\'
,
'
:
''
const
type
=
isArray
(
conf
.
defaultValue
)
?
'
type:
\'
array
\'
,
'
:
''
let
message
=
isArray
(
conf
.
defaultValue
)
?
`请至少选择一个
${
conf
.
vModel
}
`
:
conf
.
placeholder
let
message
=
isArray
(
conf
.
defaultValue
)
?
`请至少选择一个
${
conf
.
vModel
}
`
:
conf
.
placeholder
if
(
message
===
undefined
)
message
=
`
${
conf
.
label
}
不能为空`
if
(
message
===
undefined
)
message
=
`
${
conf
.
label
}
不能为空`
rules
.
push
(
`{ required: true,
${
type
}
message: '
${
message
}
', trigger: '
${
trigger
[
conf
.
tag
]}
' }`
)
rules
.
push
(
`{ required: true,
${
type
}
message: '
${
message
}
', trigger: '
${
trigger
[
conf
.
tag
]}
' }`
)
}
}
if
(
conf
.
regList
&&
isArray
(
conf
.
regList
))
{
if
(
conf
.
regList
&&
isArray
(
conf
.
regList
))
{
conf
.
regList
.
forEach
(
item
=>
{
conf
.
regList
.
forEach
(
item
=>
{
if
(
item
.
pattern
)
{
if
(
item
.
pattern
)
{
rules
.
push
(
`{ pattern:
${
eval
(
item
.
pattern
)}
, message: '
${
item
.
message
}
', trigger: '
${
trigger
[
conf
.
tag
]}
' }`
)
rules
.
push
(
`{ pattern:
${
eval
(
item
.
pattern
)}
, message: '
${
item
.
message
}
', trigger: '
${
trigger
[
conf
.
tag
]}
' }`
)
}
}
})
})
}
}
ruleList
.
push
(
`
${
conf
.
vModel
}
: [
${
rules
.
join
(
'
,
'
)}
],`
)
ruleList
.
push
(
`
${
conf
.
vModel
}
: [
${
rules
.
join
(
'
,
'
)}
],`
)
}
}
}
}
function
buildOptions
(
conf
,
optionsList
)
{
function
buildOptions
(
conf
,
optionsList
)
{
if
(
conf
.
vModel
===
undefined
)
return
if
(
conf
.
vModel
===
undefined
)
return
if
(
conf
.
dataType
===
'
dynamic
'
)
{
conf
.
options
=
[]
}
if
(
conf
.
dataType
===
'
dynamic
'
)
{
conf
.
options
=
[]
}
const
str
=
`
${
conf
.
vModel
}
Options:
${
JSON
.
stringify
(
conf
.
options
)}
,`
const
str
=
`
${
conf
.
vModel
}
Options:
${
JSON
.
stringify
(
conf
.
options
)}
,`
optionsList
.
push
(
str
)
optionsList
.
push
(
str
)
}
}
function
buildProps
(
conf
,
propsList
)
{
function
buildProps
(
conf
,
propsList
)
{
if
(
conf
.
dataType
===
'
dynamic
'
)
{
if
(
conf
.
dataType
===
'
dynamic
'
)
{
conf
.
valueKey
!==
'
value
'
&&
(
conf
.
props
.
props
.
value
=
conf
.
valueKey
)
conf
.
valueKey
!==
'
value
'
&&
(
conf
.
props
.
props
.
value
=
conf
.
valueKey
)
conf
.
labelKey
!==
'
label
'
&&
(
conf
.
props
.
props
.
label
=
conf
.
labelKey
)
conf
.
labelKey
!==
'
label
'
&&
(
conf
.
props
.
props
.
label
=
conf
.
labelKey
)
conf
.
childrenKey
!==
'
children
'
&&
(
conf
.
props
.
props
.
children
=
conf
.
childrenKey
)
conf
.
childrenKey
!==
'
children
'
&&
(
conf
.
props
.
props
.
children
=
conf
.
childrenKey
)
}
}
const
str
=
`
${
conf
.
vModel
}
Props:
${
JSON
.
stringify
(
conf
.
props
.
props
)}
,`
const
str
=
`
${
conf
.
vModel
}
Props:
${
JSON
.
stringify
(
conf
.
props
.
props
)}
,`
propsList
.
push
(
str
)
propsList
.
push
(
str
)
}
}
function
buildBeforeUpload
(
conf
)
{
function
buildBeforeUpload
(
conf
)
{
const
unitNum
=
units
[
conf
.
sizeUnit
];
let
rightSizeCode
=
''
;
let
acceptCode
=
''
;
const
const
unitNum
=
units
[
conf
.
sizeUnit
];
let
rightSizeCode
=
''
;
let
acceptCode
=
''
;
const
returnList
=
[]
returnList
=
[]
if
(
conf
.
fileSize
)
{
if
(
conf
.
fileSize
)
{
rightSizeCode
=
`let isRightSize = file.size /
${
unitNum
}
<
${
conf
.
fileSize
}
rightSizeCode
=
`let isRightSize = file.size /
${
unitNum
}
<
${
conf
.
fileSize
}
if(!isRightSize){
if(!isRightSize){
this.$message.error('文件大小超过
${
conf
.
fileSize
}${
conf
.
sizeUnit
}
')
this.$message.error('文件大小超过
${
conf
.
fileSize
}${
conf
.
sizeUnit
}
')
}`
}`
returnList
.
push
(
'
isRightSize
'
)
returnList
.
push
(
'
isRightSize
'
)
}
}
if
(
conf
.
accept
)
{
if
(
conf
.
accept
)
{
acceptCode
=
`let isAccept = new RegExp('
${
conf
.
accept
}
').test(file.type)
acceptCode
=
`let isAccept = new RegExp('
${
conf
.
accept
}
').test(file.type)
if(!isAccept){
if(!isAccept){
this.$message.error('应该选择
${
conf
.
accept
}
类型的文件')
this.$message.error('应该选择
${
conf
.
accept
}
类型的文件')
}`
}`
returnList
.
push
(
'
isAccept
'
)
returnList
.
push
(
'
isAccept
'
)
}
}
const
str
=
`
${
conf
.
vModel
}
BeforeUpload(file) {
const
str
=
`
${
conf
.
vModel
}
BeforeUpload(file) {
${
rightSizeCode
}
${
rightSizeCode
}
${
acceptCode
}
${
acceptCode
}
return
${
returnList
.
join
(
'
&&
'
)}
return
${
returnList
.
join
(
'
&&
'
)}
},`
},`
return
returnList
.
length
?
str
:
''
return
returnList
.
length
?
str
:
''
}
}
function
buildSubmitUpload
(
conf
)
{
function
buildSubmitUpload
(
conf
)
{
const
str
=
`submitUpload() {
const
str
=
`submitUpload() {
this.$refs['
${
conf
.
vModel
}
'].submit()
this.$refs['
${
conf
.
vModel
}
'].submit()
},`
},`
return
str
return
str
}
}
function
buildOptionMethod
(
methodName
,
model
,
methodList
)
{
function
buildOptionMethod
(
methodName
,
model
,
methodList
)
{
const
str
=
`
${
methodName
}
() {
const
str
=
`
${
methodName
}
() {
// TODO 发起请求获取数据
// TODO 发起请求获取数据
this.
${
model
}
this.
${
model
}
},`
},`
methodList
.
push
(
str
)
methodList
.
push
(
str
)
}
}
function
buildexport
(
conf
,
type
,
data
,
rules
,
selectOptions
,
uploadVar
,
props
,
methods
)
{
function
buildexport
(
conf
,
type
,
data
,
rules
,
selectOptions
,
uploadVar
,
props
,
methods
)
{
const
str
=
`
${
exportDefault
}
{
const
str
=
`
${
exportDefault
}
{
${
inheritAttrs
[
type
]}
${
inheritAttrs
[
type
]}
components: {},
components: {},
props: [],
props: [],
data () {
data () {
return {
return {
${
conf
.
formModel
}
: {
${
conf
.
formModel
}
: {
${
data
}
${
data
}
},
},
${
conf
.
formRules
}
: {
${
conf
.
formRules
}
: {
${
rules
}
${
rules
}
},
},
${
uploadVar
}
${
uploadVar
}
${
selectOptions
}
${
selectOptions
}
${
props
}
${
props
}
}
}
},
},
computed: {},
computed: {},
watch: {},
watch: {},
created () {},
created () {},
mounted () {},
mounted () {},
methods: {
methods: {
${
methods
}
${
methods
}
}
}
}`
}`
return
str
return
str
}
}
ruoyi-ui/src/views/tool/build/CodeTypeDialog.vue
View file @
d00dc3b0
<
template
>
<
template
>
<div>
<div>
<el-dialog
<el-dialog
v-bind=
"$attrs"
v-bind=
"$attrs"
width=
"500px"
width=
"500px"
:close-on-click-modal=
"false"
:close-on-click-modal=
"false"
:modal-append-to-body=
"false"
:modal-append-to-body=
"false"
v-on=
"$listeners"
v-on=
"$listeners"
@
open=
"onOpen"
@
open=
"onOpen"
@
close=
"onClose"
@
close=
"onClose"
>
>
<el-row
:gutter=
"15"
>
<el-row
:gutter=
"15"
>
<el-form
<el-form
ref=
"elForm"
ref=
"elForm"
:model=
"formData"
:model=
"formData"
:rules=
"rules"
:rules=
"rules"
size=
"medium"
size=
"medium"
label-width=
"100px"
label-width=
"100px"
>
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"生成类型"
prop=
"type"
>
<el-form-item
label=
"生成类型"
prop=
"type"
>
<el-radio-group
v-model=
"formData.type"
>
<el-radio-group
v-model=
"formData.type"
>
<el-radio-button
<el-radio-button
v-for=
"(item, index) in typeOptions"
v-for=
"(item, index) in typeOptions"
:key=
"index"
:key=
"index"
:label=
"item.value"
:label=
"item.value"
:disabled=
"item.disabled"
:disabled=
"item.disabled"
>
>
{{
item
.
label
}}
{{
item
.
label
}}
</el-radio-button>
</el-radio-button>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
v-if=
"showFileName"
label=
"文件名"
prop=
"fileName"
>
<el-form-item
v-if=
"showFileName"
label=
"文件名"
prop=
"fileName"
>
<el-input
v-model=
"formData.fileName"
placeholder=
"请输入文件名"
clearable
/>
<el-input
v-model=
"formData.fileName"
placeholder=
"请输入文件名"
clearable
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-form>
</el-form>
</el-row>
</el-row>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<el-button
@
click=
"close"
>
<el-button
@
click=
"close"
>
取消
取消
</el-button>
</el-button>
<el-button
type=
"primary"
@
click=
"hand
e
lConfirm"
>
<el-button
type=
"primary"
@
click=
"handl
e
Confirm"
>
确定
确定
</el-button>
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
inheritAttrs
:
false
,
inheritAttrs
:
false
,
props
:
[
'
showFileName
'
],
props
:
[
'
showFileName
'
],
data
()
{
data
()
{
return
{
return
{
formData
:
{
formData
:
{
fileName
:
undefined
,
fileName
:
undefined
,
type
:
'
file
'
type
:
'
file
'
},
},
rules
:
{
rules
:
{
fileName
:
[{
fileName
:
[{
required
:
true
,
required
:
true
,
message
:
'
请输入文件名
'
,
message
:
'
请输入文件名
'
,
trigger
:
'
blur
'
trigger
:
'
blur
'
}],
}],
type
:
[{
type
:
[{
required
:
true
,
required
:
true
,
message
:
'
生成类型不能为空
'
,
message
:
'
生成类型不能为空
'
,
trigger
:
'
change
'
trigger
:
'
change
'
}]
}]
},
},
typeOptions
:
[{
typeOptions
:
[{
label
:
'
页面
'
,
label
:
'
页面
'
,
value
:
'
file
'
value
:
'
file
'
},
{
},
{
label
:
'
弹窗
'
,
label
:
'
弹窗
'
,
value
:
'
dialog
'
value
:
'
dialog
'
}]
}]
}
}
},
},
computed
:
{
computed
:
{
},
},
watch
:
{},
watch
:
{},
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
onOpen
()
{
onOpen
()
{
if
(
this
.
showFileName
)
{
if
(
this
.
showFileName
)
{
this
.
formData
.
fileName
=
`
${
+
new
Date
()}
.vue`
this
.
formData
.
fileName
=
`
${
+
new
Date
()}
.vue`
}
}
},
},
onClose
()
{
onClose
()
{
},
},
close
(
e
)
{
close
(
e
)
{
this
.
$emit
(
'
update:visible
'
,
false
)
this
.
$emit
(
'
update:visible
'
,
false
)
},
},
hand
e
lConfirm
()
{
handl
e
Confirm
()
{
this
.
$refs
.
elForm
.
validate
(
valid
=>
{
this
.
$refs
.
elForm
.
validate
(
valid
=>
{
if
(
!
valid
)
return
if
(
!
valid
)
return
this
.
$emit
(
'
confirm
'
,
{
...
this
.
formData
})
this
.
$emit
(
'
confirm
'
,
{
...
this
.
formData
})
this
.
close
()
this
.
close
()
})
})
}
}
}
}
}
}
</
script
>
</
script
>
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment