Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-manage-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
smart-operation
so-manage-ui
Commits
60e7c543
Commit
60e7c543
authored
Jul 10, 2023
by
张耀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:
优化时间格式方法
parent
38b4f01e
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
111 additions
and
148 deletions
+111
-148
src/components/env.js
src/components/env.js
+4
-0
src/components/warn-detail/index.vue
src/components/warn-detail/index.vue
+6
-2
src/components/warn-detail/tab.vue
src/components/warn-detail/tab.vue
+7
-3
src/page/main/forewarning/indicator-config/detail/index.vue
src/page/main/forewarning/indicator-config/detail/index.vue
+3
-7
src/page/main/forewarning/indicator-config/index.vue
src/page/main/forewarning/indicator-config/index.vue
+2
-1
src/page/main/forewarning/list/detail/index.vue
src/page/main/forewarning/list/detail/index.vue
+27
-49
src/page/main/forewarning/list/index.vue
src/page/main/forewarning/list/index.vue
+3
-3
src/page/main/forewarning/rule-set/index.vue
src/page/main/forewarning/rule-set/index.vue
+2
-1
src/page/main/ticket/business-ticket-list/detail/index.vue
src/page/main/ticket/business-ticket-list/detail/index.vue
+4
-3
src/page/main/ticket/business-ticket-list/index.vue
src/page/main/ticket/business-ticket-list/index.vue
+3
-2
src/page/main/ticket/business-ticket-manage/detail/index.vue
src/page/main/ticket/business-ticket-manage/detail/index.vue
+11
-19
src/page/main/ticket/business-ticket-manage/index.vue
src/page/main/ticket/business-ticket-manage/index.vue
+2
-1
src/page/main/ticket/my-business-ticket/detail/index.vue
src/page/main/ticket/my-business-ticket/detail/index.vue
+4
-3
src/page/main/ticket/my-business-ticket/index.vue
src/page/main/ticket/my-business-ticket/index.vue
+3
-2
src/page/main/ticket/my-warn-ticket/detail/index.vue
src/page/main/ticket/my-warn-ticket/detail/index.vue
+27
-49
src/page/main/ticket/my-warn-ticket/index.vue
src/page/main/ticket/my-warn-ticket/index.vue
+3
-3
No files found.
src/components/env.js
View file @
60e7c543
...
...
@@ -37,4 +37,8 @@ export const GetRuleTypeOptions = () => {
export
const
Empty
=
(
key
,
Obj
)
=>
{
let
item
=
Obj
[
key
]
return
!
item
||
item
.
label
==
'
空
'
}
export
const
dateStringToDate
=
(
str
)
=>
{
if
(
!
str
||
typeof
str
!=
'
string
'
)
return
str
||
"
-
"
;
return
str
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
}
\ No newline at end of file
src/components/warn-detail/index.vue
View file @
60e7c543
...
...
@@ -8,7 +8,7 @@
</Info>
</div>
<div
class=
"tabs"
>
<Tab
:
tabs=
"tab
s"
/>
<Tab
:
labels=
"tabLabels"
:data=
"tabData
s"
/>
</div>
</div>
</template>
...
...
@@ -27,10 +27,14 @@ const props = defineProps({
type
:
Object
,
default
:
()
=>
({}),
},
tabs
:
{
tab
Label
s
:
{
type
:
Array
,
default
:
()
=>
[],
},
tabDatas
:
{
type
:
Object
,
default
:
()
=>
({}),
},
});
</
script
>
...
...
src/components/warn-detail/tab.vue
View file @
60e7c543
<
template
>
<el-tabs
v-model=
"activeTab"
tab-position=
"top"
>
<el-tab-pane
v-for=
"item in
tab
s"
:key=
"item.prop"
:label=
"item.label"
:name=
"item.prop"
>
<el-tab-pane
v-for=
"item in
label
s"
:key=
"item.prop"
:label=
"item.label"
:name=
"item.prop"
>
<bg-table
ref=
"listtable"
:headers=
"headers[item.prop]"
:rows=
"
item.lists
"
:rows=
"
data[item.prop]
"
height=
"100%"
:isIndex=
"true"
:stripe=
"true"
>
...
...
@@ -31,10 +31,14 @@ import { STATUS_OBJ, PUSH_STATUS } from "./env.js";
import
{
METHODS
}
from
"
@/components/manual-distribution/env.js
"
;
const
activeTab
=
ref
(
"
push
"
);
const
props
=
defineProps
({
tab
s
:
{
label
s
:
{
type
:
Array
,
default
:
()
=>
[],
},
data
:
{
type
:
Object
,
default
:
()
=>
({}),
},
methodLists
:
{
type
:
Object
,
default
:
METHODS
,
...
...
src/page/main/forewarning/indicator-config/detail/index.vue
View file @
60e7c543
...
...
@@ -12,14 +12,10 @@
</span>
</
template
>
<
template
#create_time
="{
valueData
}"
>
<span>
{{
valueData
.
create_time
?
valueData
.
create_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
</span>
<span>
{{
dateStringToDate
(
valueData
.
create_time
)
}}
</span>
</
template
>
<
template
#update_time
="{
valueData
}"
>
<span>
{{
valueData
.
update_time
?
valueData
.
update_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
</span>
<span>
{{
dateStringToDate
(
valueData
.
update_time
)
}}
</span>
</
template
>
</Info>
</div>
...
...
@@ -70,7 +66,7 @@ import gapTitle from "@/components/gap-title.vue";
import
bgBreadcrumb
from
"
@/components/bg-breadcrumb.vue
"
;
import
Info
from
"
@/components/warn-detail/info.vue
"
;
import
{
METHODS
}
from
"
@/components/manual-distribution/env.js
"
;
import
{
GetRuleTypeOptions
,
Empty
}
from
"
@/components/env.js
"
;
import
{
GetRuleTypeOptions
,
Empty
,
dateStringToDate
}
from
"
@/components/env.js
"
;
const
route
=
useRoute
();
const
{
id
,
type_name
,
target_name
}
=
route
.
query
;
const
STATUS_OBJ
=
{
...
...
src/page/main/forewarning/indicator-config/index.vue
View file @
60e7c543
...
...
@@ -73,7 +73,7 @@
v-model=
"row.is_enabled"
></bg-switch>
</
template
>
<
template
v-slot:created_at=
"{ row }"
>
{{
row
.
created_at
?
row
.
created_at
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
created_at
)
}}
</
template
>
<
template
v-slot:action=
"{ row }"
>
<bg-table-btns2
:limit=
"3"
:tableData=
"tableRows"
>
...
...
@@ -113,6 +113,7 @@ import Slide from "./modules/slide.vue";
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
useRouter
}
from
"
vue-router
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
router
=
useRouter
();
const
node
=
ref
({});
watch
(
...
...
src/page/main/forewarning/list/detail/index.vue
View file @
60e7c543
...
...
@@ -4,7 +4,7 @@
<bg-breadcrumb
/>
</div>
<div
class=
"content bg-scroll"
>
<warn-detail
:label-data=
"labelData"
:value-data=
"info"
:tab
s=
"tab
s"
>
<warn-detail
:label-data=
"labelData"
:value-data=
"info"
:tab
Labels=
"tabLabels"
:tabDatas=
"tabData
s"
>
<template
#status
="
{ item, valueData }">
<span
class=
"status-body"
>
<span
class=
"status"
:class=
"`status-$
{valueData.status}`">
</span>
...
...
@@ -23,6 +23,7 @@ import { useRoute } from "vue-router";
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
ref
,
onBeforeMount
}
from
"
vue
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
route
=
useRoute
();
const
{
id
}
=
route
.
query
;
const
ruleTypeOptions
=
ref
({});
...
...
@@ -80,31 +81,17 @@ const labelData = [
],
];
const
info
=
ref
({});
const
tab
s
=
ref
(
[
const
tab
Labels
=
[
{
label
:
"
推送记录
"
,
prop
:
"
push
"
,
lists
:
[],
},
{
label
:
"
处置记录
"
,
prop
:
"
dispose
"
,
lists
:
[
{
status
:
"
error
"
,
feedback
:
"
暂时无法处理,需要时间
"
,
feedback_time
:
"
2022-07-29 10:23:59
"
,
feedback_person
:
"
张三
"
,
},
{
status
:
"
success
"
,
feedback
:
"
暂时无法处理,需要时间
"
,
feedback_time
:
"
2022-07-29 10:23:59
"
,
feedback_person
:
"
张三
"
,
},
],
},
]);
];
const
tabDatas
=
ref
({});
const
pushType
=
{
1
:
"
自动推送
"
,
2
:
"
手动推送
"
,
...
...
@@ -126,38 +113,29 @@ const getInfo = () => {
ruleTypeOptions
.
value
[
data
.
alert_rule_type
]?.
unit
||
""
}
-
$
{
data
.
alert_condition
.
thresholds_max
}
$
{
ruleTypeOptions
.
value
[
data
.
alert_rule_type
]?.
unit
||
""
}
`,
current_alarm_value: data.current_value + (ruleTypeOptions.value[data.alert_rule_type]?.unit || ""),
warning_time: data.alert_time?.split("+")[0].replace("T", " ").replace("Z", " ") || "-",
warning_time: dateStringToDate(data.alert_time),
};
tabDatas.value = {
push:
data.push_records?.map((e) => {
return {
method: e.notify_method,
person: e.system_account,
push_time: dateStringToDate(e.push_time),
push_type: pushType[e.push_type],
status: e.status,
};
}) || [],
dispose:
data.disposed_list?.map((e) => {
return {
status: e.is_disposed,
feedback: e.disposal_content,
feedback_time: dateStringToDate(e.disposal_time),
feedback_person: e.disposal_user,
};
}) || [],
};
//
tabs.value = [
{
label: "推送记录",
prop: "push",
lists:
data.push_records?.map((e) => {
return {
method: e.notify_method,
person: e.system_account,
push_time: e.push_time?.split("+")[0].replace("T", " ").replace("Z", " ") || "-",
push_type: pushType[e.push_type],
status: e.status,
};
}) || [],
},
{
label: "处置记录",
prop: "dispose",
lists:
data.disposed_list?.map((e) => {
return {
status: e.is_disposed,
feedback: e.disposal_content,
feedback_time: e.disposal_time?.split("+")[0].replace("T", " ").replace("Z", " ") || "-",
feedback_person: e.disposal_user,
};
}) || [],
},
];
}
});
};
...
...
src/page/main/forewarning/list/index.vue
View file @
60e7c543
...
...
@@ -86,10 +86,10 @@
{{
row
.
alert_condition
.
thresholds_max
}}{{
ruleTypeOptions
[
row
.
alert_rule_type
]?.
unit
||
""
}}
</
template
>
<
template
v-slot:alert_time=
"{ row }"
>
{{
row
.
alert_time
?
row
.
alert_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
alert_time
)
}}
</
template
>
<
template
v-slot:last_push_time=
"{ row }"
>
{{
row
.
last_push_time
?
row
.
last_push_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
last_push_time
)
}}
</
template
>
<
template
#status
="{
row
}"
>
<span
:class=
"`circle status-$
{row.status}`">
</span>
...
...
@@ -176,7 +176,7 @@ import { Search } from "@element-plus/icons-vue";
import
bgBreadcrumb
from
"
@/components/bg-breadcrumb.vue
"
;
import
{
useRouter
}
from
"
vue-router
"
;
import
ManualDistributionForm
from
"
@/components/manual-distribution/form.vue
"
;
import
{
GetRuleTypeOptions
}
from
"
@/components/env.js
"
;
import
{
GetRuleTypeOptions
,
dateStringToDate
}
from
"
@/components/env
"
;
const
router
=
useRouter
();
...
...
src/page/main/forewarning/rule-set/index.vue
View file @
60e7c543
...
...
@@ -92,7 +92,7 @@
v-model=
"row.is_enabled"
></bg-switch>
</
template
>
<
template
v-slot:created_at=
"{ row }"
>
{{
row
.
created_at
?
row
.
created_at
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
created_at
)
}}
</
template
>
<
template
v-slot:action=
"{ row }"
>
<bg-table-btns2
:limit=
"3"
:tableData=
"tableRows"
>
...
...
@@ -131,6 +131,7 @@ import axios from "@/request/http.js";
import
{
Search
}
from
"
@element-plus/icons-vue
"
;
import
bgBreadcrumb
from
"
@/components/bg-breadcrumb.vue
"
;
import
{
useRouter
}
from
"
vue-router
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
METHODS
=
{
dingtalk
:
"
钉钉
"
,
sms
:
"
短信
"
,
...
...
src/page/main/ticket/business-ticket-list/detail/index.vue
View file @
60e7c543
...
...
@@ -48,6 +48,7 @@ import { ORDER_METHODS } from "@/components/manual-distribution/env.js";
import
{
useRoute
}
from
"
vue-router
"
;
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
route
=
useRoute
();
const
{
id
}
=
route
.
query
;
const
ticketLevelOptions
=
[
""
,
"
紧急任务
"
,
"
重要任务
"
,
"
一般任务
"
];
...
...
@@ -131,8 +132,8 @@ const getInfo = () => {
ticket_level
:
ticketLevelOptions
[
data
.
order_level
],
create_by
:
data
.
create_user
,
description
:
data
.
order_desc
,
create_time
:
dat
a
.
create_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
finish_time
:
dat
a
.
complete_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
create_time
:
dat
eStringToDate
(
data
.
create_time
)
,
finish_time
:
dat
eStringToDate
(
data
.
complete_time
)
,
notification_method
:
data
.
push_obj
.
push_method
==
"
3
"
?
[
"
1
"
,
"
2
"
]
:
[
data
.
push_obj
.
push_method
],
};
rows
.
value
=
data
.
push_obj
.
user_obj
?.
map
((
e
)
=>
{
...
...
@@ -147,7 +148,7 @@ const getInfo = () => {
status
:
e
.
order_state
,
target
:
e
.
system_account
,
feedback
:
e
.
result_feedback
,
time
:
e
.
complete_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
time
:
dateStringToDate
(
e
.
complete_time
)
,
};
});
}
...
...
src/page/main/ticket/business-ticket-list/index.vue
View file @
60e7c543
...
...
@@ -75,10 +75,10 @@
</span>
</
template
>
<
template
#create_time
="{
row
}"
>
{{
row
.
create_time
?
row
.
create_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
create_time
)
}}
</
template
>
<
template
#complete_time
="{
row
}"
>
{{
row
.
complete_time
?
row
.
complete_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
complete_time
)
}}
</
template
>
<
template
#operation
="{
row
}"
>
<el-button
type=
"primary"
:disabled=
"row.order_state != 1"
link
size=
"small"
@
click=
"operation(row)"
>
...
...
@@ -110,6 +110,7 @@ import CloseTicket from "./close-ticket.vue";
import
{
useRouter
}
from
"
vue-router
"
;
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
router
=
useRouter
();
const
filter
=
reactive
({
order_level
:
0
,
...
...
src/page/main/ticket/business-ticket-manage/detail/index.vue
View file @
60e7c543
...
...
@@ -9,8 +9,8 @@
<Info
:labelData=
"labelData"
:valueData=
"info"
>
<template
#status
="
{ item, valueData }">
<span
class=
"status-body"
>
<span
class=
"status"
:class=
"`status
-
$
{valueData.status}`">
</span>
<span>
{{
status
Options
[
valueData
[
item
.
prop
]]
}}
</span>
<span
class=
"status"
:class=
"`status
_
$
{valueData.status}`">
</span>
<span>
{{
timeState
Options
[
valueData
[
item
.
prop
]]
}}
</span>
</span>
</
template
>
</Info>
...
...
@@ -64,10 +64,10 @@
</span>
</
template
>
<
template
#create_time
="{
row
}"
>
{{
row
.
create_time
?
row
.
create_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
create_time
)
}}
</
template
>
<
template
#complete_time
="{
row
}"
>
{{
row
.
complete_time
?
row
.
complete_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
complete_time
)
}}
</
template
>
<
template
#operation
="{
row
}"
>
<div
class=
"table-operation"
>
...
...
@@ -99,11 +99,13 @@ import { TIMEING_RULES } from "@/components/env.js";
import
{
useRouter
,
useRoute
}
from
"
vue-router
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
ElMessage
}
from
"
element-plus
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
route
=
useRoute
();
const
{
id
}
=
route
.
query
;
const
router
=
useRouter
();
const
ticketLevelOptions
=
[
""
,
"
紧急任务
"
,
"
重要任务
"
,
"
一般任务
"
];
const
statusOptions
=
[
""
,
"
待处置
"
,
"
已完成
"
,
"
已关闭
"
];
const
timeStateOptions
=
[
"
禁用
"
,
"
启用
"
];
const
weekDayOptions
=
{
1
:
"
周一
"
,
2
:
"
周二
"
,
...
...
@@ -120,7 +122,7 @@ const labelData = [
prop
:
"
ticket_name
"
,
},
{
label
:
"
状态
"
,
label
:
"
定时是否启用
"
,
prop
:
"
status
"
,
},
],
...
...
@@ -139,16 +141,10 @@ const labelData = [
label
:
"
工单描述
"
,
prop
:
"
description
"
,
},
],
[
{
label
:
"
创建时间
"
,
prop
:
"
create_time
"
,
},
{
label
:
"
完成时间
"
,
prop
:
"
finish_time
"
,
},
],
];
const
info
=
ref
({});
...
...
@@ -251,8 +247,8 @@ const getInfoData = () => {
ticket_level
:
ticketLevelOptions
[
data
.
order_level
],
create_by
:
data
.
create_user
,
description
:
data
.
order_desc
,
create_time
:
dat
a
.
create_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
finish_time
:
dat
a
.
create_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
create_time
:
dat
eStringToDate
(
data
.
create_time
)
,
finish_time
:
dat
eStringToDate
(
data
.
create_time
)
,
notification_method
:
data
.
push_obj
.
push_method
==
3
?
[
"
1
"
,
"
2
"
]
:
[
`
${
data
.
push_obj
.
push_method
}
`
],
timing_rules
:
+
data
.
timing_type
,
};
...
...
@@ -361,13 +357,9 @@ onBeforeMount(() => {
height
:
6px
;
border-radius
:
50%
;
margin-right
:
8px
;
$statusObj
:
(
2
:
#48ad97
,
3
:
#9e9e9e
,
1
:
#3759be
,
);
$statusObj
:
(
-2
:
#48ad97
,
-3
:
#9e9e9e
,
-1
:
#3759be
,
_0
:
#d75138
,
_1
:
#48ad97
);
@each
$status
,
$color
in
$statusObj
{
&
-
#{
$status
}
{
&
#{
$status
}
{
background-color
:
$color
;
}
}
...
...
src/page/main/ticket/business-ticket-manage/index.vue
View file @
60e7c543
...
...
@@ -95,7 +95,7 @@
<span>
{{
ruleOptions
[
row
.
timing_type
]
}}
</span>
</
template
>
<
template
#create_time
="{
row
}"
>
{{
row
.
create_time
?
row
.
create_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
create_time
)
}}
</
template
>
<
template
#timing_state
="{
row
}"
>
<el-switch
...
...
@@ -156,6 +156,7 @@ import ManualDistribution from "@/components/manual-distribution/index.vue";
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
useRouter
}
from
"
vue-router
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
router
=
useRouter
();
const
filter
=
reactive
({
order_level
:
""
,
...
...
src/page/main/ticket/my-business-ticket/detail/index.vue
View file @
60e7c543
...
...
@@ -48,6 +48,7 @@ import { ORDER_METHODS } from "@/components/manual-distribution/env.js";
import
{
useRoute
}
from
"
vue-router
"
;
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
route
=
useRoute
();
const
{
id
}
=
route
.
query
;
const
ticketLevelOptions
=
[
""
,
"
紧急任务
"
,
"
重要任务
"
,
"
一般任务
"
];
...
...
@@ -132,8 +133,8 @@ const getInfo = () => {
ticket_level
:
ticketLevelOptions
[
data
.
order_level
],
create_by
:
data
.
create_user
,
description
:
data
.
order_desc
,
create_time
:
dat
a
.
create_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
finish_time
:
dat
a
.
complete_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
create_time
:
dat
eStringToDate
(
data
.
create_time
)
,
finish_time
:
dat
eStringToDate
(
data
.
complete_time
)
,
notification_method
:
data
.
push_obj
.
push_method
==
"
3
"
?
[
"
1
"
,
"
2
"
]
:
[
data
.
push_obj
.
push_method
],
};
rows
.
value
=
data
.
push_obj
.
user_obj
.
map
((
e
)
=>
{
...
...
@@ -148,7 +149,7 @@ const getInfo = () => {
status
:
e
.
order_state
,
target
:
e
.
system_account
,
feedback
:
e
.
result_feedback
,
time
:
e
.
complete_time
?.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
||
"
-
"
,
time
:
dateStringToDate
(
e
.
complete_time
)
,
};
});
}
...
...
src/page/main/ticket/my-business-ticket/index.vue
View file @
60e7c543
...
...
@@ -74,10 +74,10 @@
</span>
</
template
>
<
template
#create_time
="{
row
}"
>
{{
row
.
create_time
?
row
.
create_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
create_time
)
}}
</
template
>
<
template
#complete_time
="{
row
}"
>
{{
row
.
complete_time
?
row
.
complete_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
complete_time
)
}}
</
template
>
<
template
#operation
="{
row
}"
>
<el-button
type=
"primary"
:disabled=
"row.order_state != 1"
link
size=
"small"
@
click=
"operation(row)"
>
...
...
@@ -108,6 +108,7 @@ import FeedBack from "../modules/feedback.vue";
import
{
useRouter
}
from
"
vue-router
"
;
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
router
=
useRouter
();
const
filter
=
reactive
({
order_level
:
0
,
...
...
src/page/main/ticket/my-warn-ticket/detail/index.vue
View file @
60e7c543
...
...
@@ -4,7 +4,7 @@
<bg-breadcrumb
/>
</div>
<div
class=
"content bg-scroll"
>
<warn-detail
:label-data=
"labelData"
:value-data=
"info"
:tab
s=
"tab
s"
>
<warn-detail
:label-data=
"labelData"
:value-data=
"info"
:tab
Labels=
"tabLabels"
:tabDatas=
"tabData
s"
>
<template
#status
="
{ item, valueData }">
<span
class=
"status-body"
>
<span
class=
"status"
:class=
"`status-$
{valueData.status}`">
</span>
...
...
@@ -23,6 +23,7 @@ import { useRoute } from "vue-router";
import
{
ElMessage
}
from
"
element-plus
"
;
import
axios
from
"
@/request/http.js
"
;
import
{
ref
,
onBeforeMount
}
from
"
vue
"
;
import
{
dateStringToDate
}
from
"
@/components/env
"
;
const
route
=
useRoute
();
const
{
id
}
=
route
.
query
;
const
ruleTypeOptions
=
ref
({});
...
...
@@ -80,31 +81,17 @@ const labelData = [
],
];
const
info
=
ref
({});
const
tab
s
=
ref
(
[
const
tab
Labels
=
[
{
label
:
"
推送记录
"
,
prop
:
"
push
"
,
lists
:
[],
},
{
label
:
"
处置记录
"
,
prop
:
"
dispose
"
,
lists
:
[
{
status
:
"
error
"
,
feedback
:
"
暂时无法处理,需要时间
"
,
feedback_time
:
"
2022-07-29 10:23:59
"
,
feedback_person
:
"
张三
"
,
},
{
status
:
"
success
"
,
feedback
:
"
暂时无法处理,需要时间
"
,
feedback_time
:
"
2022-07-29 10:23:59
"
,
feedback_person
:
"
张三
"
,
},
],
},
]);
];
const
tabDatas
=
ref
({});
const
pushType
=
{
1
:
"
自动推送
"
,
2
:
"
手动推送
"
,
...
...
@@ -126,38 +113,29 @@ const getInfo = () => {
ruleTypeOptions
.
value
[
data
.
alert_rule_type
]?.
unit
||
""
}
-
$
{
data
.
alert_condition
.
thresholds_max
}
$
{
ruleTypeOptions
.
value
[
data
.
alert_rule_type
]?.
unit
||
""
}
`,
current_alarm_value: data.current_value + (ruleTypeOptions.value[data.alert_rule_type]?.unit || ""),
warning_time: data.alert_time?.split("+")[0].replace("T", " ").replace("Z", " ") || "-",
warning_time: dateStringToDate(data.alert_time),
};
tabDatas.value = {
push:
data.push_records?.map((e) => {
return {
method: e.notify_method,
person: e.system_account,
push_time: dateStringToDate(e.push_time),
push_type: pushType[e.push_type],
status: e.status,
};
}) || [],
dispose:
data.disposed_list?.map((e) => {
return {
status: e.is_disposed,
feedback: e.disposal_content,
feedback_time: dateStringToDate(e.disposal_time),
feedback_person: e.disposal_user,
};
}) || [],
};
//
tabs.value = [
{
label: "推送记录",
prop: "push",
lists:
data.push_records?.map((e) => {
return {
method: e.notify_method,
person: e.system_account,
push_time: e.push_time?.split("+")[0].replace("T", " ").replace("Z", " ") || "-",
push_type: pushType[e.push_type],
status: e.status,
};
}) || [],
},
{
label: "处置记录",
prop: "dispose",
lists:
data.disposed_list?.map((e) => {
return {
status: e.is_disposed,
feedback: e.disposal_content,
feedback_time: e.disposal_time?.split("+")[0].replace("T", " ").replace("Z", " ") || "-",
feedback_person: e.disposal_user,
};
}) || [],
},
];
}
});
};
...
...
src/page/main/ticket/my-warn-ticket/index.vue
View file @
60e7c543
...
...
@@ -68,10 +68,10 @@
{{
row
.
alert_condition
.
thresholds_max
}}{{
ruleTypeOptions
[
row
.
alert_rule_type
]?.
unit
||
""
}}
</
template
>
<
template
v-slot:alert_time=
"{ row }"
>
{{
row
.
alert_time
?
row
.
alert_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
alert_time
)
}}
</
template
>
<
template
v-slot:last_push_time=
"{ row }"
>
{{
row
.
last_push_time
?
row
.
last_push_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
).
replace
(
"
Z
"
,
"
"
)
:
"
-
"
}}
{{
dateStringToDate
(
row
.
last_push_time
)
}}
</
template
>
<
template
#status
="{
row
}"
>
<span
:class=
"`circle status-$
{row.status}`">
</span>
...
...
@@ -106,7 +106,7 @@ import axios from "@/request/http.js";
import
bgBreadcrumb
from
"
@/components/bg-breadcrumb.vue
"
;
import
FeedBack
from
"
../modules/feedback.vue
"
;
import
{
useRouter
}
from
"
vue-router
"
;
import
{
GetRuleTypeOptions
}
from
"
@/components/env.js
"
;
import
{
GetRuleTypeOptions
,
dateStringToDate
}
from
"
@/components/env.js
"
;
const
router
=
useRouter
();
const
filter
=
reactive
({
risk_level
:
""
,
// 风险等级
...
...
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