Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-ui
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-ui
Commits
425a9e06
提交
425a9e06
authored
1月 13, 2025
作者:
lidongxu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(system/attendance): 考勤规则迁移完成
同上
上级
e300685e
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
33 个修改的文件
包含
179 行增加
和
205 行删除
+179
-205
.env.development
.env.development
+2
-2
index.js
src/api/index.js
+1
-1
attendance.js
src/api/system/attendance.js
+0
-0
element-ui.scss
src/assets/styles/element-ui.scss
+25
-3
index.scss
src/assets/styles/index.scss
+1
-1
index.vue
src/components/LevitatedSphere/index.vue
+22
-23
date.js
src/utils/date.js
+29
-12
index.js
src/utils/index.js
+1
-79
math.js
src/utils/math.js
+14
-0
index.vue
src/views/bi/competitor/index.vue
+13
-11
index.vue
src/views/bi/prd_tag/index.vue
+2
-3
index.vue
src/views/bi/product/index.vue
+1
-7
index.vue
src/views/bi/sale/index.vue
+1
-2
index.vue
src/views/bi/store/index.vue
+1
-1
index.vue
src/views/index.vue
+34
-32
index.vue
src/views/monitor/cache/index.vue
+1
-1
index.vue
src/views/monitor/job/index.vue
+1
-1
index.vue
src/views/monitor/logininfor/index.vue
+1
-1
index.vue
src/views/monitor/online/index.vue
+1
-1
index.vue
src/views/monitor/operlog/index.vue
+1
-1
index.vue
src/views/monitor/server/index.vue
+1
-1
index.vue
src/views/system/attendance/index.vue
+0
-0
index.vue
src/views/system/config/index.vue
+1
-2
index.vue
src/views/system/dept/index.vue
+1
-2
index.vue
src/views/system/dict/index.vue
+2
-2
index.vue
src/views/system/menu/index.vue
+1
-2
index.vue
src/views/system/notice/index.vue
+1
-2
index.vue
src/views/system/post/index.vue
+1
-2
index.vue
src/views/system/role/index.vue
+14
-3
index.vue
src/views/system/user/index.vue
+1
-3
index.vue
src/views/system/user/profile/index.vue
+1
-1
index.vue
src/views/tool/gen/index.vue
+1
-2
vite.config.js
vite.config.js
+2
-1
没有找到文件。
.env.development
浏览文件 @
425a9e06
...
@@ -2,10 +2,10 @@
...
@@ -2,10 +2,10 @@
VITE_APP_TITLE = 王小卤-链路中心
VITE_APP_TITLE = 王小卤-链路中心
# 基地址
# 基地址
#
VITE_APP_BASE_API = '/dev-api'
VITE_APP_BASE_API = '/dev-api'
# VITE_APP_BASE_API = '/qllan'
# VITE_APP_BASE_API = '/qllan'
# VITE_APP_BASE_API = '/bclan'
# VITE_APP_BASE_API = '/bclan'
VITE_APP_BASE_API = '/home'
#
VITE_APP_BASE_API = '/home'
# 开发环境配置
# 开发环境配置
VITE_APP_ENV = 'development'
VITE_APP_ENV = 'development'
...
...
src/api/index.js
浏览文件 @
425a9e06
...
@@ -13,6 +13,7 @@ export * from './monitor/online'
...
@@ -13,6 +13,7 @@ export * from './monitor/online'
export
*
from
'./monitor/server'
export
*
from
'./monitor/server'
export
*
from
'./system/dict/data'
export
*
from
'./system/dict/data'
export
*
from
'./system/dict/type'
export
*
from
'./system/dict/type'
export
*
from
'./system/attendance'
export
*
from
'./system/config'
export
*
from
'./system/config'
export
*
from
'./system/dept'
export
*
from
'./system/dept'
export
*
from
'./system/logininfor'
export
*
from
'./system/logininfor'
...
@@ -21,6 +22,5 @@ export * from './system/notice'
...
@@ -21,6 +22,5 @@ export * from './system/notice'
export
*
from
'./system/operlog'
export
*
from
'./system/operlog'
export
*
from
'./system/post'
export
*
from
'./system/post'
export
*
from
'./system/role'
export
*
from
'./system/role'
export
*
from
'./system/rule'
export
*
from
'./system/user'
export
*
from
'./system/user'
export
*
from
'./tool/gen'
export
*
from
'./tool/gen'
src/api/system/
rul
e.js
→
src/api/system/
attendanc
e.js
浏览文件 @
425a9e06
File moved
src/assets/styles/element-ui.scss
浏览文件 @
425a9e06
...
@@ -59,9 +59,10 @@
...
@@ -59,9 +59,10 @@
margin
:
0
auto
;
margin
:
0
auto
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
height
:
6
0vh
;
height
:
8
0vh
;
padding
:
20px
;
padding
:
20px
;
.el-dialog__header
{
.el-dialog__header
{
padding-top
:
10px
;
padding-top
:
10px
;
height
:
40px
;
height
:
40px
;
}
}
...
@@ -69,6 +70,18 @@
...
@@ -69,6 +70,18 @@
.el-dialog__body
{
.el-dialog__body
{
flex
:
1
;
flex
:
1
;
height
:
calc
(
50vh
-
40px
-
32px
);
height
:
calc
(
50vh
-
40px
-
32px
);
overflow-y
:
scroll
;
/* 灰色滚动条背景 */
&
:
:-
webkit-scrollbar-track
{
background-color
:
transparent
;
}
.el-form
{
margin-top
:
20px
;
}
// margin-top: 20px;
}
}
}
}
...
@@ -116,7 +129,7 @@
...
@@ -116,7 +129,7 @@
// 覆盖默认样式
// 覆盖默认样式
.el-select
{
.el-select
{
width
:
215px
;
width
:
100%
;
}
}
.el-tabs
{
.el-tabs
{
...
@@ -135,4 +148,12 @@
...
@@ -135,4 +148,12 @@
.number
{
.number
{
font-size
:
var
(
--
xl-fontsize
)
!
important
;
font-size
:
var
(
--
xl-fontsize
)
!
important
;
}
}
}
@media
(
max-width
:
1400px
)
{
.el-form-item
{
margin-bottom
:
20px
!
important
;
}
}
}
\ No newline at end of file
src/assets/styles/index.scss
浏览文件 @
425a9e06
...
@@ -130,7 +130,7 @@ aside {
...
@@ -130,7 +130,7 @@ aside {
align-items
:
center
;
align-items
:
center
;
padding
:
20px
;
padding
:
20px
;
>
div
:first-of-type
{
>
.container
{
width
:
100%
;
width
:
100%
;
padding
:
20px
;
padding
:
20px
;
background-color
:
var
(
--
el-bg-color-overlay
);
background-color
:
var
(
--
el-bg-color-overlay
);
...
...
src/components/LevitatedSphere/index.vue
浏览文件 @
425a9e06
<!-- 可拖拽的小球 封装 -->
<!-- 可拖拽的小球 封装 -->
<
template
>
<
template
>
<div>
<div
ref=
"levitatedSphere"
<div
ref=
"levitatedSphere"
class=
"wrap"
class=
"wrap"
:style=
"
{
:style=
"
{
width: itemWidth + 'px',
width: itemWidth + 'px',
height: itemHeight + 'px',
height: itemHeight + 'px',
left: left + 'px',
left: left + 'px',
top: top + 'px',
top: top + 'px',
}"
}"
@click="handleClick">
@click="handleClick">
<svg-icon
icon-class=
"tool"
></svg-icon>
<svg-icon
icon-class=
"tool"
></svg-icon>
</div>
<!-- 工具抽屉 -->
<el-drawer
title=
"工具箱"
v-model=
"drawer"
append-to-body
size=
"300px"
>
<slot></slot>
</el-drawer>
</div>
</div>
<!-- 工具抽屉 -->
<el-drawer
title=
"工具箱"
v-model=
"drawer"
append-to-body
size=
"300px"
>
<slot></slot>
</el-drawer>
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
...
@@ -68,10 +66,10 @@ onMounted(() => {
...
@@ -68,10 +66,10 @@ onMounted(() => {
nextTick
(()
=>
{
nextTick
(()
=>
{
const
mousemove
=
(
e
)
=>
{
const
mousemove
=
(
e
)
=>
{
e
.
preventDefault
();
e
.
preventDefault
();
let
touch
=
e
;
let
touch
=
e
;
// 限制 left 和 top 的值,使其不会超出可视区域
// 限制 left 和 top 的值,使其不会超出可视区域
left
.
value
=
Math
.
max
(
props
.
gapWidth
,
Math
.
min
(
touch
.
clientX
-
20
,
clientWidth
.
value
-
props
.
itemWidth
-
props
.
gapWidth
));
left
.
value
=
Math
.
max
(
props
.
gapWidth
,
Math
.
min
(
touch
.
clientX
-
20
,
clientWidth
.
value
-
props
.
itemWidth
-
props
.
gapWidth
));
top
.
value
=
Math
.
max
(
0
,
Math
.
min
(
touch
.
clientY
-
25
,
clientHeight
.
value
-
props
.
itemHeight
));
top
.
value
=
Math
.
max
(
0
,
Math
.
min
(
touch
.
clientY
-
25
,
clientHeight
.
value
-
props
.
itemHeight
));
}
}
levitatedSphere
.
value
.
addEventListener
(
'mousedown'
,
(
e
)
=>
{
levitatedSphere
.
value
.
addEventListener
(
'mousedown'
,
(
e
)
=>
{
e
.
preventDefault
();
e
.
preventDefault
();
...
@@ -118,6 +116,7 @@ const handleClick = () => {
...
@@ -118,6 +116,7 @@ const handleClick = () => {
align-items
:
center
;
align-items
:
center
;
transition
:
all
0
.5s
;
transition
:
all
0
.5s
;
font-size
:
20px
;
font-size
:
20px
;
padding
:
0
;
}
}
::v-deep
(
.el-drawer__body
)
{
::v-deep
(
.el-drawer__body
)
{
...
...
src/utils/date.js
浏览文件 @
425a9e06
...
@@ -13,6 +13,7 @@ export function generatorDayList(startDate, endDate) {
...
@@ -13,6 +13,7 @@ export function generatorDayList(startDate, endDate) {
}
}
return
dateArr
;
return
dateArr
;
}
}
/**
/**
* 格式化时间,月日时分秒前面补零
* 格式化时间,月日时分秒前面补零
* @param {*} cellValue 时间
* @param {*} cellValue 时间
...
@@ -74,7 +75,12 @@ export function formatTime(time, option) {
...
@@ -74,7 +75,12 @@ export function formatTime(time, option) {
}
}
}
}
// 日期格式化
/**
* 日期格式化
* @param {*} time 时间
* @param {*} pattern 格式化格式{y}-{m}-{d} {h}:{i}:{s}
* @returns
*/
export
function
parseTime
(
time
,
pattern
)
{
export
function
parseTime
(
time
,
pattern
)
{
if
(
arguments
.
length
===
0
||
!
time
)
{
if
(
arguments
.
length
===
0
||
!
time
)
{
return
null
return
null
...
@@ -130,31 +136,31 @@ export function getTime(type) {
...
@@ -130,31 +136,31 @@ export function getTime(type) {
/**
/**
* 时间后补 0 格式 例如:09:00 转成 09:00:00
* 时间后补 0 格式 例如:09:00 转成 09:00:00
* @param {*}
s
* @param {*}
time 时间字符串
* @returns
* @returns
*/
*/
export
function
timeAddZero
(
s
)
{
export
function
timeAddZero
(
time
)
{
if
(
s
===
null
||
s
===
''
||
s
===
undefined
)
return
s
if
(
time
===
null
||
time
===
''
||
time
===
undefined
)
return
time
if
(
s
.
split
(
":"
).
length
===
3
)
return
s
if
(
time
.
split
(
":"
).
length
===
3
)
return
time
return
s
+
':00'
return
time
+
':00'
}
}
/**
/**
* 时间去 0 格式,例如:09:00:00 转成 09:00
* 时间去 0 格式,例如:09:00:00 转成 09:00
* @param {*}
s
* @param {*}
time 时间字符串
* @returns
* @returns
*/
*/
export
function
timeDelZero
(
s
)
{
export
function
timeDelZero
(
time
)
{
if
(
s
===
null
||
s
===
''
||
s
===
undefined
)
return
'00:00'
if
(
time
===
null
||
time
===
''
||
time
===
undefined
)
return
'00:00'
if
(
s
.
split
(
":"
).
length
===
2
)
return
s
if
(
time
.
split
(
":"
).
length
===
2
)
return
time
return
s
.
split
(
":"
)[
0
]
+
':'
+
s
.
split
(
":"
)[
1
]
return
time
.
split
(
":"
)[
0
]
+
':'
+
time
.
split
(
":"
)[
1
]
}
}
/**
/**
* 判断开始时间小于指定时间范围
* 判断开始时间小于指定时间范围
* @param {*} startTime ["00:00:00", "02:00:00"] 时间数组
* @param {*} startTime ["00:00:00", "02:00:00"] 时间数组
* @param {*} endTime 单个要判断的时间
* @param {*} endTime 单个要判断的时间
* @returns
* @returns
boolean
*/
*/
export
function
checkStartLessEndTime
(
startTime
,
endTime
)
{
export
function
checkStartLessEndTime
(
startTime
,
endTime
)
{
if
(
startTime
===
null
||
startTime
?.
length
===
0
||
endTime
===
null
)
return
true
if
(
startTime
===
null
||
startTime
?.
length
===
0
||
endTime
===
null
)
return
true
...
@@ -214,3 +220,13 @@ export function addDateRange(params, dateRange, propName) {
...
@@ -214,3 +220,13 @@ export function addDateRange(params, dateRange, propName) {
return
search
;
return
search
;
}
}
/**
* 生成唯一字符串
* @returns {string}
*/
export
function
createUniqueString
()
{
const
timestamp
=
+
new
Date
()
+
''
const
randomNum
=
parseInt
((
1
+
Math
.
random
())
*
65536
)
+
''
return
(
+
(
randomNum
+
timestamp
)).
toString
(
32
)
}
\ No newline at end of file
src/utils/index.js
浏览文件 @
425a9e06
...
@@ -13,65 +13,6 @@ export * from './ruoyi'
...
@@ -13,65 +13,6 @@ export * from './ruoyi'
export
*
from
'./scroll-to'
export
*
from
'./scroll-to'
export
*
from
'./theme'
export
*
from
'./theme'
export
*
from
'./validate'
export
*
from
'./validate'
import
{
parseTime
}
from
'./date'
/**
* 表格时间格式化
*/
export
function
formatDate
(
cellValue
)
{
if
(
cellValue
==
null
||
cellValue
==
""
)
return
""
;
var
date
=
new
Date
(
cellValue
)
var
year
=
date
.
getFullYear
()
var
month
=
date
.
getMonth
()
+
1
<
10
?
'0'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
var
day
=
date
.
getDate
()
<
10
?
'0'
+
date
.
getDate
()
:
date
.
getDate
()
var
hours
=
date
.
getHours
()
<
10
?
'0'
+
date
.
getHours
()
:
date
.
getHours
()
var
minutes
=
date
.
getMinutes
()
<
10
?
'0'
+
date
.
getMinutes
()
:
date
.
getMinutes
()
var
seconds
=
date
.
getSeconds
()
<
10
?
'0'
+
date
.
getSeconds
()
:
date
.
getSeconds
()
return
year
+
'-'
+
month
+
'-'
+
day
+
' '
+
hours
+
':'
+
minutes
+
':'
+
seconds
}
/**
* @param {number} time
* @param {string} option
* @returns {string}
*/
export
function
formatTime
(
time
,
option
)
{
if
((
''
+
time
).
length
===
10
)
{
time
=
parseInt
(
time
)
*
1000
}
else
{
time
=
+
time
}
const
d
=
new
Date
(
time
)
const
now
=
Date
.
now
()
const
diff
=
(
now
-
d
)
/
1000
if
(
diff
<
30
)
{
return
'刚刚'
}
else
if
(
diff
<
3600
)
{
// less 1 hour
return
Math
.
ceil
(
diff
/
60
)
+
'分钟前'
}
else
if
(
diff
<
3600
*
24
)
{
return
Math
.
ceil
(
diff
/
3600
)
+
'小时前'
}
else
if
(
diff
<
3600
*
24
*
2
)
{
return
'1天前'
}
if
(
option
)
{
return
parseTime
(
time
,
option
)
}
else
{
return
(
d
.
getMonth
()
+
1
+
'月'
+
d
.
getDate
()
+
'日'
+
d
.
getHours
()
+
'时'
+
d
.
getMinutes
()
+
'分'
)
}
}
/**
/**
* @param {string} url
* @param {string} url
...
@@ -212,17 +153,7 @@ export function toggleClass(element, className) {
...
@@ -212,17 +153,7 @@ export function toggleClass(element, className) {
element
.
className
=
classString
element
.
className
=
classString
}
}
/**
* @param {string} type
* @returns {Date}
*/
export
function
getTime
(
type
)
{
if
(
type
===
'start'
)
{
return
new
Date
().
getTime
()
-
3600
*
1000
*
24
*
90
}
else
{
return
new
Date
(
new
Date
().
toDateString
())
}
}
/**
/**
* @param {Function} func
* @param {Function} func
...
@@ -295,15 +226,6 @@ export function uniqueArr(arr) {
...
@@ -295,15 +226,6 @@ export function uniqueArr(arr) {
return
Array
.
from
(
new
Set
(
arr
))
return
Array
.
from
(
new
Set
(
arr
))
}
}
/**
* @returns {string}
*/
export
function
createUniqueString
()
{
const
timestamp
=
+
new
Date
()
+
''
const
randomNum
=
parseInt
((
1
+
Math
.
random
())
*
65536
)
+
''
return
(
+
(
randomNum
+
timestamp
)).
toString
(
32
)
}
/**
/**
* Check if an element has a class
* Check if an element has a class
* @param {HTMLElement} elm
* @param {HTMLElement} elm
...
...
src/utils/math.js
浏览文件 @
425a9e06
...
@@ -101,4 +101,17 @@ export function roundUpToNextHighestPowerOfTen(num) {
...
@@ -101,4 +101,17 @@ export function roundUpToNextHighestPowerOfTen(num) {
export
function
toFixed2
(
num
)
{
export
function
toFixed2
(
num
)
{
if
(
num
===
null
||
num
===
undefined
)
return
'0'
if
(
num
===
null
||
num
===
undefined
)
return
'0'
return
Number
(
num
).
toFixed
(
2
)
return
Number
(
num
).
toFixed
(
2
)
}
/**
* 随机生成 6 位数字和大写字母组合
* @returns
*/
export
function
randomCode
()
{
const
str
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
let
code
=
''
for
(
let
i
=
0
;
i
<
6
;
i
++
)
{
code
+=
str
.
charAt
(
Math
.
floor
(
Math
.
random
()
*
str
.
length
))
}
return
code
}
}
\ No newline at end of file
src/views/bi/competitor/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-tabs
v-model=
"activeName"
<div
class=
"container"
>
class=
"tabs"
>
<el-tabs
v-model=
"activeName"
<el-tab-pane
v-for=
"item in list"
class=
"tabs"
>
:label=
"item.name"
<el-tab-pane
v-for=
"item in list"
:name=
"item.name"
>
:label=
"item.name"
<keep-alive>
:name=
"item.name"
>
<component
:is=
"item.component"
></component>
<keep-alive>
</keep-alive>
<component
:is=
"item.component"
></component>
</el-tab-pane>
</keep-alive>
</el-tabs>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -61,7 +63,7 @@ provide('activeName', activeName);
...
@@ -61,7 +63,7 @@ provide('activeName', activeName);
width
:
100%
;
width
:
100%
;
margin-top
:
20px
;
margin-top
:
20px
;
.chart
{
.chart
{
flex
:
1
;
flex
:
1
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
...
src/views/bi/prd_tag/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-row
:gutter=
"20"
<el-row
:gutter=
"20"
class=
"client-fix-height"
>
class=
"client-fix-height
container
"
>
<!--商品分类-->
<!--商品分类-->
<category-tree
:options=
"tagsOptions"
<category-tree
:options=
"tagsOptions"
:defaultProps=
"defaultProps"
:defaultProps=
"defaultProps"
...
@@ -25,8 +25,7 @@
...
@@ -25,8 +25,7 @@
<template
#
buttons
>
<template
#
buttons
>
<el-button
type=
"primary"
<el-button
type=
"primary"
icon=
"Plus"
icon=
"Plus"
@
click=
"handleAdd"
@
click=
"handleAdd"
>
新增
</el-button>
v-hasPermi=
"['gen:info:add']"
>
新增
</el-button>
</
template
>
</
template
>
</category-tree>
</category-tree>
<el-col
:span=
"10"
<el-col
:span=
"10"
...
...
src/views/bi/product/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-row
:gutter=
"20"
<el-row
:gutter=
"20"
class=
"client-fix-height"
>
class=
"client-fix-height
container
"
>
<!--商品分类-->
<!--商品分类-->
<category-tree
:options=
"seriesOptions"
<category-tree
:options=
"seriesOptions"
:defaultProps=
"defaultProps"
:defaultProps=
"defaultProps"
...
@@ -60,30 +60,25 @@
...
@@ -60,30 +60,25 @@
<el-table
v-loading=
"loading"
<el-table
v-loading=
"loading"
:data=
"productList"
>
:data=
"productList"
>
<el-table-column
label=
"商品编码"
<el-table-column
label=
"商品编码"
align=
"left"
key=
"prdCode"
key=
"prdCode"
prop=
"prdCode"
prop=
"prdCode"
v-if=
"columns[0].visible"
/>
v-if=
"columns[0].visible"
/>
<el-table-column
label=
"商品名字"
<el-table-column
label=
"商品名字"
align=
"left"
key=
"prdName"
key=
"prdName"
prop=
"prdName"
prop=
"prdName"
v-if=
"columns[1].visible"
v-if=
"columns[1].visible"
:show-overflow-tooltip=
"true"
/>
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"系列名字"
<el-table-column
label=
"系列名字"
align=
"left"
key=
"series"
key=
"series"
prop=
"series"
prop=
"series"
v-if=
"columns[2].visible"
v-if=
"columns[2].visible"
:show-overflow-tooltip=
"true"
/>
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"条码"
<el-table-column
label=
"条码"
align=
"left"
key=
"prdSpec"
key=
"prdSpec"
prop=
"prdSpec"
prop=
"prdSpec"
v-if=
"columns[3].visible"
v-if=
"columns[3].visible"
:show-overflow-tooltip=
"true"
/>
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"售卖状态"
<el-table-column
label=
"售卖状态"
align=
"center"
key=
"saleStatus"
key=
"saleStatus"
v-if=
"columns[4].visible"
>
v-if=
"columns[4].visible"
>
<template
v-slot=
"scope"
>
<template
v-slot=
"scope"
>
...
@@ -94,7 +89,6 @@
...
@@ -94,7 +89,6 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
class-name=
"small-padding fixed-width"
v-if=
"columns[5].visible"
>
v-if=
"columns[5].visible"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
...
src/views/bi/sale/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<!-- 套表 Item -->
<!-- 套表 Item -->
<div
class=
"excel_charts_item"
<div
class=
"excel_charts_item
container
"
v-for=
"item, index in platformSalesList"
>
v-for=
"item, index in platformSalesList"
>
<!-- 查询表单 -->
<!-- 查询表单 -->
<el-form
:model=
"item.queryParams"
<el-form
:model=
"item.queryParams"
...
@@ -636,7 +636,6 @@ init()
...
@@ -636,7 +636,6 @@ init()
.el-form-item
{
.el-form-item
{
margin-bottom
:
0
;
margin-bottom
:
0
;
}
}
}
}
/* 新增套表 */
/* 新增套表 */
...
...
src/views/bi/store/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div
class=
"content"
>
<div
class=
"content
container
"
>
<!-- 搜索表单 -->
<!-- 搜索表单 -->
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
inline
inline
...
...
src/views/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<panel-group
@
handleSetLineChartData=
"handleSetLineChartData"
/>
<div
class=
"container"
>
<common-menu
/>
<panel-group
@
handleSetLineChartData=
"handleSetLineChartData"
/>
<el-row
:gutter=
"20"
<common-menu
/>
class=
"row"
>
<el-row
:gutter=
"20"
<el-col
:xs=
"24"
class=
"row"
>
:sm=
"24"
<el-col
:xs=
"24"
:lg=
"8"
>
:sm=
"24"
<div
class=
"chart-wrapper"
>
:lg=
"8"
>
<raddar-chart
/>
<div
class=
"chart-wrapper"
>
</div>
<raddar-chart
/>
</el-col>
</div>
<el-col
:xs=
"24"
</el-col>
:sm=
"24"
<el-col
:xs=
"24"
:lg=
"8"
>
:sm=
"24"
<div
class=
"chart-wrapper"
>
:lg=
"8"
>
<pie-chart
/>
<div
class=
"chart-wrapper"
>
</div>
<pie-chart
/>
</el-col>
</div>
<el-col
:xs=
"24"
</el-col>
:sm=
"24"
<el-col
:xs=
"24"
:lg=
"8"
>
:sm=
"24"
<div
class=
"chart-wrapper"
>
:lg=
"8"
>
<bar-chart
/>
<div
class=
"chart-wrapper"
>
</div>
<bar-chart
/>
</el-col>
</div>
</el-row>
</el-col>
<el-row
:gutter=
"20"
>
</el-row>
<el-col
:span=
"24"
>
<el-row
:gutter=
"20"
>
<line-chart
class=
"line-chart"
<el-col
:span=
"24"
>
:chartData=
"lineChartData"
/>
<line-chart
class=
"line-chart"
</el-col>
:chartData=
"lineChartData"
/>
</el-row>
</el-col>
</el-row>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
src/views/monitor/cache/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-row>
<el-row>
<el-col
:span=
"24"
<el-col
:span=
"24"
class=
"card-box"
>
class=
"card-box"
>
...
...
src/views/monitor/job/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
...
src/views/monitor/logininfor/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
...
src/views/monitor/online/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
>
:inline=
"true"
>
...
...
src/views/monitor/operlog/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
...
src/views/monitor/server/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-row>
<el-row>
<el-col
:span=
"12"
<el-col
:span=
"12"
class=
"card-box"
>
class=
"card-box"
>
...
...
src/views/system/attendance/index.vue
0 → 100644
浏览文件 @
425a9e06
差异被折叠。
点击展开。
src/views/system/config/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
@@ -164,7 +164,6 @@
...
@@ -164,7 +164,6 @@
<!-- 添加或修改参数配置对话框 -->
<!-- 添加或修改参数配置对话框 -->
<el-dialog
:title=
"title"
<el-dialog
:title=
"title"
v-model=
"open"
v-model=
"open"
width=
"500px"
append-to-body
>
append-to-body
>
<el-form
ref=
"configRef"
<el-form
ref=
"configRef"
:model=
"form"
:model=
"form"
...
...
src/views/system/dept/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
@@ -109,7 +109,6 @@
...
@@ -109,7 +109,6 @@
<!-- 添加或修改部门对话框 -->
<!-- 添加或修改部门对话框 -->
<el-dialog
:title=
"title"
<el-dialog
:title=
"title"
v-model=
"open"
v-model=
"open"
width=
"600px"
append-to-body
>
append-to-body
>
<el-form
ref=
"deptRef"
<el-form
ref=
"deptRef"
:model=
"form"
:model=
"form"
...
...
src/views/system/dict/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"字典名称"
prop=
"dictName"
>
<el-form-item
label=
"字典名称"
prop=
"dictName"
>
<el-input
<el-input
...
@@ -141,7 +141,7 @@
...
@@ -141,7 +141,7 @@
/>
/>
<!-- 添加或修改参数配置对话框 -->
<!-- 添加或修改参数配置对话框 -->
<el-dialog
:title=
"title"
v-model=
"open"
width=
"500px"
append-to-body
>
<el-dialog
:title=
"title"
v-model=
"open"
append-to-body
>
<el-form
ref=
"dictRef"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"dictRef"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"字典名称"
prop=
"dictName"
>
<el-form-item
label=
"字典名称"
prop=
"dictName"
>
<el-input
v-model=
"form.dictName"
placeholder=
"请输入字典名称"
/>
<el-input
v-model=
"form.dictName"
placeholder=
"请输入字典名称"
/>
...
...
src/views/system/menu/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
@@ -123,7 +123,6 @@
...
@@ -123,7 +123,6 @@
<!-- 添加或修改菜单对话框 -->
<!-- 添加或修改菜单对话框 -->
<el-dialog
:title=
"title"
<el-dialog
:title=
"title"
v-model=
"open"
v-model=
"open"
width=
"680px"
append-to-body
>
append-to-body
>
<el-form
ref=
"menuRef"
<el-form
ref=
"menuRef"
:model=
"form"
:model=
"form"
...
...
src/views/system/notice/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
@@ -142,7 +142,6 @@
...
@@ -142,7 +142,6 @@
<!--
添加或修改公告对话框
-->
<!--
添加或修改公告对话框
-->
<
el
-
dialog
:
title
=
"title"
<
el
-
dialog
:
title
=
"title"
v
-
model
=
"open"
v
-
model
=
"open"
width
=
"780px"
append
-
to
-
body
>
append
-
to
-
body
>
<
el
-
form
ref
=
"noticeRef"
<
el
-
form
ref
=
"noticeRef"
:
model
=
"form"
:
model
=
"form"
...
...
src/views/system/post/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
@@ -140,7 +140,6 @@
...
@@ -140,7 +140,6 @@
<!-- 添加或修改岗位对话框 -->
<!-- 添加或修改岗位对话框 -->
<el-dialog
:title=
"title"
<el-dialog
:title=
"title"
v-model=
"open"
v-model=
"open"
width=
"500px"
append-to-body
>
append-to-body
>
<el-form
ref=
"postRef"
<el-form
ref=
"postRef"
:model=
"form"
:model=
"form"
...
...
src/views/system/role/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
v-show=
"showSearch"
v-show=
"showSearch"
...
@@ -178,7 +178,6 @@
...
@@ -178,7 +178,6 @@
<!-- 添加或修改角色配置对话框 -->
<!-- 添加或修改角色配置对话框 -->
<el-dialog
:title=
"title"
<el-dialog
:title=
"title"
v-model=
"open"
v-model=
"open"
width=
"500px"
append-to-body
>
append-to-body
>
<el-form
ref=
"roleRef"
<el-form
ref=
"roleRef"
:model=
"form"
:model=
"form"
...
@@ -249,7 +248,6 @@
...
@@ -249,7 +248,6 @@
<!-- 分配角色数据权限对话框 -->
<!-- 分配角色数据权限对话框 -->
<el-dialog
:title=
"title"
<el-dialog
:title=
"title"
v-model=
"openDataScope"
v-model=
"openDataScope"
width=
"500px"
append-to-body
>
append-to-body
>
<el-form
:model=
"form"
<el-form
:model=
"form"
label-width=
"80px"
>
label-width=
"80px"
>
...
@@ -643,3 +641,15 @@
...
@@ -643,3 +641,15 @@
getList
();
getList
();
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
.el-tree
{
height
:
210px
;
overflow-y
:
scroll
;
/* 灰色滚动条背景 */
&
:
:-
webkit-scrollbar-track
{
background-color
:
transparent
;
}
}
</
style
>
\ No newline at end of file
src/views/system/user/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-row
:gutter=
"20"
class=
"client-fix-height"
>
<el-row
:gutter=
"20"
class=
"client-fix-height
container
"
>
<!--部门数据-->
<!--部门数据-->
<category-tree
:options=
"deptOptions"
<category-tree
:options=
"deptOptions"
:defaultProps=
"
{ label: 'label', children: 'children' }"
:defaultProps=
"
{ label: 'label', children: 'children' }"
...
@@ -211,7 +211,6 @@
...
@@ -211,7 +211,6 @@
<!-- 添加或修改用户配置对话框 -->
<!-- 添加或修改用户配置对话框 -->
<el-dialog
:title=
"title"
<el-dialog
:title=
"title"
v-model=
"open"
v-model=
"open"
width=
"600px"
append-to-body
>
append-to-body
>
<el-form
:model=
"form"
<el-form
:model=
"form"
:rules=
"rules"
:rules=
"rules"
...
@@ -350,7 +349,6 @@
...
@@ -350,7 +349,6 @@
<!-- 用户导入对话框 -->
<!-- 用户导入对话框 -->
<el-dialog
:title=
"upload.title"
<el-dialog
:title=
"upload.title"
v-model=
"upload.open"
v-model=
"upload.open"
width=
"400px"
append-to-body
>
append-to-body
>
<el-upload
ref=
"uploadRef"
<el-upload
ref=
"uploadRef"
:limit=
"1"
:limit=
"1"
...
...
src/views/system/user/profile/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
class=
"container"
>
<el-col
:span=
"6"
<el-col
:span=
"6"
:xs=
"24"
>
:xs=
"24"
>
<el-card
class=
"box-card"
>
<el-card
class=
"box-card"
>
...
...
src/views/tool/gen/index.vue
浏览文件 @
425a9e06
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div>
<div
class=
"container"
>
<el-form
:model=
"queryParams"
<el-form
:model=
"queryParams"
ref=
"queryRef"
ref=
"queryRef"
:inline=
"true"
:inline=
"true"
...
@@ -173,7 +173,6 @@
...
@@ -173,7 +173,6 @@
<!-- 预览界面 -->
<!-- 预览界面 -->
<el-dialog
:title=
"preview.title"
<el-dialog
:title=
"preview.title"
v-model=
"preview.open"
v-model=
"preview.open"
width=
"80%"
top=
"5vh"
top=
"5vh"
append-to-body
append-to-body
class=
"scrollbar"
>
class=
"scrollbar"
>
...
...
vite.config.js
浏览文件 @
425a9e06
...
@@ -32,7 +32,8 @@ export default defineConfig(({ mode, command }) => {
...
@@ -32,7 +32,8 @@ export default defineConfig(({ mode, command }) => {
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
qllan/
,
''
)
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
qllan/
,
''
)
},
},
'/bclan'
:
{
'/bclan'
:
{
target
:
'http://192.168.141.188:8080'
,
// target: 'http://192.168.141.188:8080',
target
:
'http://192.168.204.205:8080'
,
changeOrigin
:
true
,
changeOrigin
:
true
,
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
bclan/
,
''
)
rewrite
:
(
p
)
=>
p
.
replace
(
/^
\/
bclan/
,
''
)
},
},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论