Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
L
laravelzh
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
冯超鹏
laravelzh
Commits
139848a8
Commit
139848a8
authored
Dec 16, 2020
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
工单列表
parent
3d597bb2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
284 additions
and
0 deletions
+284
-0
index.js
resources/js/router/index.js
+2
-0
alarm-order.js
resources/js/router/modules/alarm-order.js
+23
-0
index.vue
resources/js/views/alarm-order/index.vue
+259
-0
No files found.
resources/js/router/index.js
View file @
139848a8
...
@@ -25,6 +25,7 @@ import usersRoutes from './modules/users';
...
@@ -25,6 +25,7 @@ import usersRoutes from './modules/users';
import
historyRoutes
from
'./modules/history.js'
;
import
historyRoutes
from
'./modules/history.js'
;
import
monitorRoutes
from
'./modules/monitor.js'
;
import
monitorRoutes
from
'./modules/monitor.js'
;
import
userdeviceRoutes
from
'./modules/userdevice'
;
import
userdeviceRoutes
from
'./modules/userdevice'
;
import
alarmOrderRoutes
from
'./modules/alarm-order'
;
/**
/**
* Sub-menu only appear when children.length>=1
* Sub-menu only appear when children.length>=1
...
@@ -155,6 +156,7 @@ export const asyncRoutes = [
...
@@ -155,6 +156,7 @@ export const asyncRoutes = [
usersRoutes
,
usersRoutes
,
adminRoutes
,
adminRoutes
,
userdeviceRoutes
,
userdeviceRoutes
,
alarmOrderRoutes
,
// {
// {
// path: '/userdevice',
// path: '/userdevice',
// component: Layout,
// component: Layout,
...
...
resources/js/router/modules/alarm-order.js
0 → 100644
View file @
139848a8
import
Layout
from
'@/layout'
;
const
alarmOrderRoutes
=
{
path
:
'/alarm-order'
,
component
:
Layout
,
redirect
:
'/alarm-order/index'
,
name
:
'users'
,
alwaysShow
:
true
,
meta
:
{
title
:
'工单管理'
,
icon
:
'nested'
,
permissions
:
[
'view menu admin'
],
},
children
:
[
{
path
:
'index'
,
component
:
()
=>
import
(
'@/views/alarm-order/index'
),
name
:
'AlarmOrder'
,
meta
:
{
title
:
'抢险工单'
,
icon
:
'nested'
,
permissions
:
[
'manage admin'
]
},
},
],
};
export
default
alarmOrderRoutes
;
resources/js/views/alarm-order/index.vue
0 → 100644
View file @
139848a8
<
template
>
<div
class=
"app-container"
>
<div
class=
"filter-container"
>
<el-form
:inline=
"true"
:model=
"formSearch"
class=
"demo-form-inline"
>
<el-form-item
label=
"接单人员"
>
<el-select
v-model=
"formSearch.user_id"
style=
"margin-left: 20px;"
placeholder=
"请选择"
>
<el-option
v-for=
"item in alarmOrderUsersData"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"设备编号"
>
<el-input
v-model=
"formSearch.deviceNum"
placeholder=
"输入完整设备编号"
></el-input>
</el-form-item>
<el-form-item
label=
"工单状态"
>
<el-select
v-model=
"formSearch.deviceStatus"
style=
"margin-left: 20px;"
placeholder=
"请选择"
>
<el-option
v-for=
"item in optionStatus"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"时间"
>
<el-date-picker
v-model=
"formSearch.timeRange"
align=
"right"
type=
"datetimerange"
:picker-options=
"pickerOptions"
range-separator=
"至"
value-format=
"yyyy/MM/dd HH:mm:ss"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
查询
</el-button>
</el-form-item>
</el-form>
</div>
<el-pagination
:current-page=
"formSearch.page"
:page-sizes=
"[20, 80, 150, 300]"
:page-size=
"formSearch.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"formSearch.total"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
>
</el-pagination>
<el-table
:key=
"tableKey"
:data=
"alarmOrders"
border
fit
highlight-current-rows
>
<el-table-column
label=
"工单号"
width=
"209"
>
<template
slot-scope=
"scope"
>
<span
@
click=
"handleCopy(scope.row.order_num,$event)"
>
{{
scope
.
row
.
order_num
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"设备编号"
width=
"209"
>
<
template
slot-scope=
"scope"
>
<span
@
click=
"handleCopy(scope.row.devicenumber,$event)"
>
{{
scope
.
row
.
devicenumber
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"接单人"
width=
"140"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"设备名称"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"位置"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
location
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"报警类型"
width=
"130"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
status_name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"工单状态"
width=
"130"
>
<
template
slot-scope=
"scope"
>
<span>
<el-tag
:type=
" scope.row.state==1 ? 'success' : 'warning' "
effect=
"dark"
>
{{
orderStateFilter
(
scope
.
row
.
state
)
}}
</el-tag>
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
created_at
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"更新时间"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
updated_at
}}
</span>
</
template
>
</el-table-column>
</el-table>
<el-tooltip
placement=
"top"
content=
"tooltip"
>
<back-to-top
:custom-style=
"myBackToTopStyle"
:visibility-height=
"300"
:back-position=
"50"
transition-name=
"fade"
/>
</el-tooltip>
</div>
</template>
<
script
>
import
clip
from
'@/utils/clipboard'
;
import
BackToTop
from
'@/components/BackToTop'
;
import
{
alarmOrderUsers
,
alarmOrderList
}
from
'@/api/alarmOrder'
;
export
default
{
components
:
{
BackToTop
},
data
()
{
return
{
alarmOrders
:
[],
alarmOrderUsersData
:
[],
formSearch
:
{
deviceNum
:
''
,
state
:
0
,
timeRange
:
null
,
page
:
1
,
limit
:
20
,
user_id
:
0
,
total
:
0
,
},
optionStatus
:
[{
value
:
99
,
label
:
'全部'
,
},
{
value
:
0
,
label
:
'未接单'
,
},
{
value
:
1
,
label
:
'进行中'
,
},
{
value
:
2
,
label
:
'完成'
,
},
{
value
:
3
,
label
:
'异常终止'
,
}],
equipment
:
[],
timer
:
null
,
tableKey
:
0
,
value2
:
undefined
,
pickerOptions
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
>
Date
.
now
();
},
shortcuts
:
[{
text
:
'24小时内'
,
onClick
(
picker
)
{
const
end
=
new
Date
();
const
start
=
new
Date
();
start
.
setTime
(
start
.
getTime
()
-
3600
*
1000
*
24
);
picker
.
$emit
(
'pick'
,
[
start
,
end
]);
},
},
],
},
myBackToTopStyle
:
{
right
:
'50px'
,
bottom
:
'50px'
,
width
:
'40px'
,
height
:
'40px'
,
'border-radius'
:
'4px'
,
'line-height'
:
'45px'
,
// Please keep consistent with height to center vertically
background
:
'#e7eaf1'
,
// The background color of the button
},
};
},
created
()
{
this
.
orderUsers
();
this
.
alarmOrdersData
();
},
methods
:
{
orderStateFilter
(
state
)
{
const
status
=
[];
status
[
0
]
=
'未接单'
;
status
[
1
]
=
'进行中'
;
status
[
2
]
=
'完成'
;
status
[
3
]
=
'异常终止'
;
return
status
[
state
];
},
// 可以派单的人员
orderUsers
(
data
)
{
alarmOrderUsers
().
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
this
.
alarmOrderUsersData
=
response
.
data
;
}
}).
catch
(
err
=>
{
console
.
log
(
err
);
});
},
// 工单列表
alarmOrdersData
()
{
alarmOrderList
(
this
.
formSearch
).
then
(
response
=>
{
if
(
response
.
code
===
200
)
{
console
.
log
(
response
.
data
);
this
.
alarmOrders
=
response
.
data
;
}
}).
catch
(
err
=>
{
console
.
log
(
err
);
});
},
handleSizeChange
(
val
)
{
this
.
formSearch
.
limit
=
val
;
this
.
dataSearch
();
},
handleCurrentChange
(
val
)
{
this
.
formSearch
.
page
=
val
;
this
.
dataSearch
();
},
handleCopy
(
text
,
event
)
{
clip
(
text
,
event
);
},
onSubmit
()
{
this
.
formSearch
.
page
=
1
;
this
.
dataSearch
();
},
dataSearch
()
{
this
.
alarmOrdersData
();
},
timers
()
{
// this.timer = setInterval(() => {
// this.equipmentlist();
// }, 10000);
},
destroyed
()
{
this
.
$once
(
'hook:beforeDestroy'
,
()
=>
{
clearInterval
(
this
.
timer
);
});
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.placeholder-container
{
ul
{
li
{
margin
:
10px
;
list-style-type
:
none
;
}
}
}
</
style
>
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