Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-manager-ui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-manager-ui
Commits
7d30c941
Commit
7d30c941
authored
Apr 10, 2025
by
姬鋆屾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pref:添加考勤运维及考勤机管理模块;修改工作人员考核明细弹窗内得登记年月显示
parent
eec7258d
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
726 additions
and
12 deletions
+726
-12
.env.development
.env.development
+2
-1
src/components/SearchFormDrawer.vue
src/components/SearchFormDrawer.vue
+2
-1
src/router.js
src/router.js
+1
-0
src/views/check/window/workman/perform/drawershow.vue
src/views/check/window/workman/perform/drawershow.vue
+16
-9
src/views/device/dialogshow.vue
src/views/device/dialogshow.vue
+232
-0
src/views/device/drawershow.vue
src/views/device/drawershow.vue
+182
-0
src/views/device/list.vue
src/views/device/list.vue
+289
-0
vue.config.js
vue.config.js
+2
-1
No files found.
.env.development
View file @
7d30c941
#开发环境
#开发环境
NODE_ENV = "development"
NODE_ENV = "development"
# VUE_APP_API_BASE_URL= http://112.19.80.237:11039
# VUE_APP_API_BASE_URL= http://112.19.80.237:11039
VUE_APP_API_BASE_URL= http://192.168.0.98:11039
VUE_APP_API_BASE_URL= http://192.168.0.98:17500
# VUE_APP_API_BASE_URL= http://192.168.0.98:11039
VUE_APP_API_ZWFW_URL= http://112.19.80.237:11031
VUE_APP_API_ZWFW_URL= http://112.19.80.237:11031
VUE_APP_PORTAL_URL = /portal_home
VUE_APP_PORTAL_URL = /portal_home
\ No newline at end of file
src/components/SearchFormDrawer.vue
View file @
7d30c941
...
@@ -278,7 +278,8 @@ export default {
...
@@ -278,7 +278,8 @@ export default {
this
.
$route
.
name
==
"
perform/other/record/list
"
||
this
.
$route
.
name
==
"
perform/other/record/list
"
||
this
.
$route
.
name
==
"
perform/attend/appeal/list
"
||
this
.
$route
.
name
==
"
perform/attend/appeal/list
"
||
this
.
$route
.
name
==
"
window/owner/list
"
||
this
.
$route
.
name
==
"
window/owner/list
"
||
this
.
$route
.
name
==
"
staff/perform/summary/list
"
this
.
$route
.
name
==
"
staff/perform/summary/list
"
||
this
.
$route
.
name
==
"
device/list
"
)
{
)
{
this
.
getArr
();
this
.
getArr
();
}
}
...
...
src/router.js
View file @
7d30c941
...
@@ -66,6 +66,7 @@ const router = new Router({
...
@@ -66,6 +66,7 @@ const router = new Router({
...
restBuilder
(
"
attendance/group
"
,
"
attendance/group
"
),
// 考勤组信息
...
restBuilder
(
"
attendance/group
"
,
"
attendance/group
"
),
// 考勤组信息
...
restBuilder
(
"
attendance/class
"
,
"
attendance/class
"
),
// 考勤班次信息
...
restBuilder
(
"
attendance/class
"
,
"
attendance/class
"
),
// 考勤班次信息
...
restBuilder
(
"
attendance/leave/record
"
,
"
attendance/leave/record
"
),
// 请假记录信息
...
restBuilder
(
"
attendance/leave/record
"
,
"
attendance/leave/record
"
),
// 请假记录信息
...
restBuilder
(
"
device
"
,
"
device
"
),
// 请假记录信息
...
restBuilder
(
...
restBuilder
(
"
attendance/vacation/balance
"
,
"
attendance/vacation/balance
"
,
"
attendance/vacation/balance
"
"
attendance/vacation/balance
"
...
...
src/views/check/window/workman/perform/drawershow.vue
View file @
7d30c941
...
@@ -10,17 +10,19 @@
...
@@ -10,17 +10,19 @@
<div
class=
"content_box"
>
<div
class=
"content_box"
>
<div
class=
"text_line"
>
<div
class=
"text_line"
>
<div
class=
"text_box"
>
<div
class=
"text_box"
>
<span
style=
"width: 160px
;
"
>
窗口 (单位) 名称:
</span>
<span
style=
"width: 160px"
>
窗口 (单位) 名称:
</span>
<span>
{{
windowName
||
"
--
"
}}
</span>
<span>
{{
windowName
||
"
--
"
}}
</span>
</div>
</div>
<div
class=
"text_box"
>
<div
class=
"text_box"
>
<span>
登记年月:
</span>
<span>
登记年月:
</span>
<span>
{{
<span>
{{
`${form.year ? form.year : "--"
}
-${
`${
form.month
form.timeType == 0
? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(form.month)
? form.year + "-" + form.month
? "0" + form.month
: form.timeType == 1
: form.month
? form.year + "年-第" + form.season + "季度"
: form.timeType == 2
? form.year
: "--"
: "--"
}
`
}
`
}}
<
/span
>
}}
<
/span
>
...
@@ -28,7 +30,7 @@
...
@@ -28,7 +30,7 @@
<
/div
>
<
/div
>
<
div
class
=
"
text_line
"
>
<
div
class
=
"
text_line
"
>
<
div
class
=
"
text_box
"
>
<
div
class
=
"
text_box
"
>
<
div
style
=
"
width: 100%
;
"
>
<
div
style
=
"
width: 100%
"
>
<
el
-
table
<
el
-
table
:
data
=
"
form.windowWorkmanPerformDetailList
"
:
data
=
"
form.windowWorkmanPerformDetailList
"
border
border
...
@@ -185,7 +187,12 @@
...
@@ -185,7 +187,12 @@
<
div
class
=
"
hecha_title
"
>
<
div
class
=
"
hecha_title
"
>
<
span
class
=
"
line
"
><
/span
>
<
span
class
=
"
line
"
><
/span
>
<
span
<
span
style
=
"
font-size: 18px;font: bold;margin-bottom: 20px;color: #409eff;
"
style
=
"
font-size: 18px;
font: bold;
margin-bottom: 20px;
color: #409eff;
"
>
核查情况
<
/spa
n
>
核查情况
<
/spa
n
>
>
<
/div
>
<
/div
>
...
@@ -195,7 +202,7 @@
...
@@ -195,7 +202,7 @@
<
el
-
form
-
item
label
=
"
政务服务管理科评荐意见:
"
prop
=
"
checkResult
"
>
<
el
-
form
-
item
label
=
"
政务服务管理科评荐意见:
"
prop
=
"
checkResult
"
>
<
div
<
div
v
-
if
=
"
form.view == '查看'
"
v
-
if
=
"
form.view == '查看'
"
style
=
"
display: flex; justify-content: space-between
;
"
style
=
"
display: flex; justify-content: space-between
"
>
>
<
span
class
=
"
left
"
>
<
span
class
=
"
left
"
>
{{
dict
.
manageCheckResult
[
form
.
manageCheckResult
]
}}
{{
dict
.
manageCheckResult
[
form
.
manageCheckResult
]
}}
...
...
src/views/device/dialogshow.vue
0 → 100644
View file @
7d30c941
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"设备名称"
prop=
"deviceName"
v-model=
"form.deviceName"
placeholder=
"请输入设备名称"
/>
<Field
label=
"设备类型"
prop=
"deviceType"
v-model=
"form.deviceType"
type=
"select"
:enumData=
"dict.deviceType"
placeholder=
"请选择设备类型"
/>
<Field
label=
"Mac地址"
prop=
"deviceMac"
v-model=
"form.deviceMac"
placeholder=
"请输入Mac地址"
/>
<Field
label=
"设备型号"
prop=
"modelNum"
v-model=
"form.modelNum"
placeholder=
"请输入设备型号"
/>
<Field
label=
"设备厂商"
prop=
"deviceFirmname"
v-model=
"form.deviceFirmname"
placeholder=
"请输入设备厂商"
/>
<Field
label=
"分辨率"
prop=
"resolution"
v-model=
"form.resolution"
type=
"select"
:enumData=
"dict.resolution"
placeholder=
"请选择分辨率"
/>
<Field
label=
"设备IP"
prop=
"ip"
v-model=
"form.ip"
placeholder=
"请输入设备IP"
/>
<Field
label=
"端口号"
prop=
"port"
v-model=
"form.port"
placeholder=
"请输入设备端口"
/>
<Field
label=
"账号"
prop=
"manageUser"
v-model=
"form.manageUser"
placeholder=
"请输入账号"
/>
<Field
label=
"密码"
prop=
"managePWD"
v-model=
"form.managePWD"
placeholder=
"请输入密码"
/>
<Field
label=
"负责人"
prop=
"leadingOfficial"
v-model=
"form.leadingOfficial"
placeholder=
"请输入负责人"
/>
<Field
label=
"电话"
prop=
"telephone"
v-model=
"form.telephone"
placeholder=
"请输入电话"
/>
<Field
label=
"所在楼栋"
prop=
"building"
v-model=
"form.building"
type=
"select"
:enumData=
"dict.building"
placeholder=
"请选择所在楼栋"
/>
<Field
label=
"所在楼层"
prop=
"floor"
v-model=
"form.floor"
type=
"select"
:enumData=
"dict.floor"
placeholder=
"请选择所在楼层"
/>
<Field
label=
"设置位置"
prop=
"address"
v-model=
"form.address"
placeholder=
"请输入设置位置(X坐标,Y坐标)"
/>
<!--
<Field
label=
"经度"
prop=
"longitude"
v-model=
"form.longitude"
placeholder=
"请输入经度"
/>
<Field
label=
"纬度"
prop=
"latitude"
v-model=
"form.latitude"
placeholder=
"请输入纬度"
/>
-->
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 表单校验
rules
:
{},
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
device/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改设备信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
();
this
.
urls
.
currUrl
=
"
device/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增设备
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
device/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
设备信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
deviceName
:
null
,
deviceMac
:
""
,
modelNum
:
null
,
deviceFirmname
:
""
,
resolution
:
null
,
deviceType
:
null
,
ip
:
null
,
port
:
null
,
manageUser
:
null
,
managePWD
:
""
,
leadingOfficial
:
null
,
approver
:
""
,
telephone
:
""
,
building
:
null
,
floor
:
null
,
remark
:
""
,
latitude
:
""
,
longitude
:
""
,
address
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
src/views/device/drawershow.vue
0 → 100644
View file @
7d30c941
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<div
style=
"padding: 20px; font-size: 15px; position: relative; height: 100%"
>
<div
class=
"mt20"
>
<div
class=
"search_box"
style=
"text-align: end"
>
<SearchForm
:search=
"config.search"
@
getData=
"onSubmit"
ref=
"search"
/>
</div>
<el-table
ref=
"multipleTable"
:data=
"tableData ? tableData : []"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
v-for=
"(val, i) in config.columns"
:key=
"i"
:type=
"val.type"
:width=
"val.width"
:label=
"val.label"
:prop=
"val.prop"
:formatter=
"val.formatter"
:align=
"val.align ? val.align : 'center'"
>
</el-table-column>
</el-table>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page.sync=
"page.current_page"
layout=
"total, prev, pager, next"
:total=
"page.total"
style=
"margin-top: 10px; width: 100%; text-align: end"
>
</el-pagination>
<el-button
@
click=
"cancleFn"
style=
"position: absolute; bottom: 10px; right: 10px"
>
关闭
</el-button
>
</div>
</div>
</el-drawer>
</
template
>
<
script
>
import
SearchForm
from
"
@/components/SearchFormDrawer.vue
"
;
export
default
{
name
:
"
DeviceDetail
"
,
components
:
{
SearchForm
},
created
()
{},
data
()
{
return
{
tableData
:
[],
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:
[
"
processResult
"
,
"
errorStatus
"
],
dict
:
{},
urls
:
{
currUrl
:
""
,
saveUrl
:
"
attendance/device/save
"
,
},
config
:
{
downloadUrl
:
""
,
isshowTabPane
:
false
,
search
:
[
{
name
:
"
salaId
"
,
type
:
"
selectSalaId
"
,
label
:
"
大厅
"
,
fuzzy
:
false
,
},
{
name
:
"
deptId
"
,
type
:
"
selectDeptId
"
,
label
:
"
部门
"
,
fuzzy
:
false
,
},
// {
// name: "classId",
// type: "select",
// label: "班次",
// fuzzy: false,
// },
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
label
:
"
序号
"
,
width
:
50
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
return
index
+
1
;
},
},
{
label
:
"
姓名
"
,
prop
:
"
name
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
所属大厅
"
,
prop
:
"
salaName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
职位
"
,
prop
:
"
positionName
"
},
{
label
:
"
班次
"
,
prop
:
"
className
"
},
{
label
:
"
考勤时间
"
,
prop
:
"
attendanceTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
考勤设备
"
,
prop
:
"
deviceName
"
},
// {
// label: "操作",
// width: 100,
// formatter: (row) => {
// if (row.check) {
// return
<
span
style
=
"
cursor:pointer;color:#ff0000
"
>
已选中
<
/span>
;
// } else {
// return
<
span
style
=
"
cursor:pointer;color:#1890ff
"
>
选择
<
/span>
;
// }
// },
// },
],
},
btnLoading
:
false
,
page
:
{
current_page
:
1
,
total
:
0
,
},
};
},
methods
:
{
handleCurrentChange
(
val
)
{
this
.
page
.
current_page
=
val
;
this
.
$refs
.
search
.
onSubmit
();
},
// 渲染前置处理
beforeRender
(
data
)
{
return
data
;
},
/** 编辑 */
edit
(
row
)
{
this
.
urls
.
currUrl
=
"
device/edit
"
;
this
.
open
=
true
;
this
.
title
=
"
考勤数据 -
"
+
row
.
deviceName
+
`(MAC地址
${
row
.
deviceMac
}
)`
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
onSubmit
()
{},
cancleFn
()
{
this
.
open
=
false
;
},
},
};
</
script
>
src/views/device/list.vue
0 → 100644
View file @
7d30c941
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
notDel
notAdd
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
size=
"mini"
type=
"primary"
@
click=
"handleAdd"
>
新增
</el-button
>
<!--
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
type=
"primary"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
-->
</LayoutTable>
<drawer-show
ref=
"drawerShow"
@
ok=
"getData"
/>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
<div
class=
"mask"
v-if=
"progress"
>
<el-progress
:stroke-width=
"26"
:percentage=
"percent"
></el-progress>
</div>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
dialogShow
from
"
./dialogshow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
{
getFirstDay
,
getLastDay
,
getdiffdate
,
timestampToTime
,
getMyDay
,
}
from
"
@/assets/utils/dateFormat.js
"
;
export
default
{
name
:
"
deviceList
"
,
components
:
{
drawerShow
,
dialogShow
,
},
mixins
:
[
table
],
data
()
{
return
{
// 进度展示值
percent
:
0
,
// 导出按钮加载状态
isExport
:
false
,
// 是否显示进度条
progress
:
false
,
// 表格配置项
config
:
{
isshowTabPane
:
true
,
search
:
[
{
name
:
"
deviceName
"
,
type
:
"
text
"
,
label
:
"
设备名称
"
,
fuzzy
:
true
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
,
fixed
:
"
left
"
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
,
fixed
:
"
left
"
},
{
label
:
"
Mac地址
"
,
prop
:
"
deviceMac
"
},
{
label
:
"
设备地址
"
,
prop
:
"
address
"
,
formatter
:
this
.
formatter
,
show
:
true
,
},
{
label
:
"
分辨率
"
,
prop
:
"
resolution
"
,
formatter
:
this
.
formatter
,
show
:
true
,
},
{
label
:
"
负责人
"
,
prop
:
"
leadingOfficial
"
},
{
label
:
"
联系电话
"
,
prop
:
"
telephone
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
设备状态
"
,
prop
:
"
status
"
,
width
:
160
,
formatter
:
this
.
formatter
,
},
{
label
:
"
启用/停用
"
,
prop
:
"
enabled
"
,
width
:
100
,
formatter
:
(
row
)
=>
{
return
(
<
el
-
switch
v
-
model
=
{
row
.
enabled
}
disabled
=
{
row
.
status
==
0
?
true
:
false
}
active
-
value
=
{
1
}
inactive
-
value
=
{
0
}
onChange
=
{(
val
)
=>
{
this
.
$post
(
"
/device/save?
"
,
{
id
:
row
.
id
,
enabled
:
val
?
"
1
"
:
"
0
"
,
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
$message
.
success
(
val
?
"
已启用
"
:
"
已停用
"
);
this
.
getData
();
}
});
}}
><
/el-switch
>
);
},
},
{
label
:
"
操作
"
,
formatter
:
(
row
)
=>
{
return
(
<
div
>
{
row
.
status
==
0
?
(
<
el
-
button
type
=
"
text
"
size
=
"
mini
"
onClick
=
{()
=>
{
this
.
$post
(
"
/device/save?
"
,
{
id
:
row
.
id
,
status
:
"
1
"
,
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
$message
.
success
(
"
激活成功
"
);
this
.
getData
();
}
});
}}
>
激活
123
<
/el-button
>
)
:
(
""
)}
<
el
-
button
type
=
"
text
"
size
=
"
mini
"
onClick
=
{()
=>
{
this
.
handle
(
row
);
}}
>
数据
<
/el-button
>
<
el
-
button
type
=
"
text
"
size
=
"
mini
"
onClick
=
{()
=>
{
this
.
toEdit
(
row
);
}}
>
编辑
<
/el-button
>
<
el
-
button
type
=
"
text
"
size
=
"
mini
"
style
=
"
color:#F56C6C
"
onClick
=
{()
=>
{
this
.
handleDelete
(
row
);
}}
>
删除
<
/el-button
>
<
/div
>
);
},
},
],
},
dialogVisible
:
false
,
currentParams
:
{},
};
},
created
()
{},
methods
:
{
// 删除操作
handleDelete
(
row
)
{
this
.
$get
(
"
/device/delete?
"
,
{
id
:
row
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
$message
.
success
(
"
删除成功
"
);
this
.
getData
();
}
});
},
// 倒计时
countDown
()
{
if
(
this
.
percent
==
95
)
{
let
params
=
{};
for
(
let
value
of
this
.
config
.
search
)
{
if
(
this
.
query
[
value
.
name
])
{
params
[
value
.
name
]
=
this
.
query
[
value
.
name
];
}
}
if
(
this
.
selection
.
length
>
0
)
{
params
[
"
idList
"
]
=
this
.
selection
;
}
let
that
=
this
;
this
.
$download
(
"
/device/exportExcel
"
,
{
...
params
,
},
{
type
:
"
excel
"
,
name
:
"
考勤机
"
}
)
.
then
(()
=>
{
this
.
percent
=
100
;
this
.
progress
=
false
;
that
.
isExport
=
false
;
})
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
progress
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
return
;
}
else
{
this
.
percent
=
this
.
percent
+
1
;
let
that
=
this
;
setTimeout
(
function
()
{
that
.
countDown
();
},
100
);
}
},
/** 导出Excel */
doExport
()
{
if
(
this
.
isExport
==
true
)
{
this
.
$message
.
info
(
"
数据正在导出中,请勿重复点击!
"
);
return
false
;
}
this
.
isExport
=
true
;
this
.
progress
=
true
;
this
.
percent
=
0
;
this
.
countDown
();
},
/** 重写新增方法 */
handleAdd
(
row
)
{
this
.
$refs
.
dialogform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
dialogform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerShow
.
view
(
row
);
},
// 处理
handle
(
err
)
{
this
.
$refs
.
drawerShow
.
edit
(
err
);
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.mask {
width: 100%;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 99;
padding: 0 30%;
padding-top: 20%;
background: rgba(0, 0, 0, 0.6);
}
::v-deep .el-progress__text {
color: #409eff;
font-weight: 600;
}
</
style
>
vue.config.js
View file @
7d30c941
...
@@ -8,7 +8,8 @@ module.exports = {
...
@@ -8,7 +8,8 @@ module.exports = {
hot
:
true
,
//自动保存
hot
:
true
,
//自动保存
proxy
:
{
proxy
:
{
"
/attendance
"
:
{
"
/attendance
"
:
{
target
:
'
http://192.168.0.98:11039
'
,
target
:
'
http://192.168.0.98:17500
'
,
// target: 'http://192.168.0.98:11039',
// target: "http://112.19.80.237:11039",
// target: "http://112.19.80.237:11039",
// target: 'http://localhost:17500',
// target: 'http://localhost:17500',
// target: "http://118.122.189.109:11039",
// target: "http://118.122.189.109:11039",
...
...
Write
Preview
Markdown
is supported
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