Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
DC-TOM
Project
Project
Details
Activity
Releases
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
刘照晖
DC-TOM
Commits
41b4f571
Commit
41b4f571
authored
Jul 03, 2025
by
Cai Wei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
https://app.bmetech.com/liuzhaohui/dctomproject
into dev
parents
5082b90e
6e679ff5
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1131 additions
and
1040 deletions
+1131
-1040
AboutView.vue
src/views/AboutView/AboutView.vue
+3
-0
myAgency.vue
src/views/closeManage/myAgency.vue
+660
-611
myDone.vue
src/views/closeManage/myDone.vue
+467
-429
collectorList.vue
src/views/collectorList/collectorList.vue
+1
-0
No files found.
src/views/AboutView/AboutView.vue
View file @
41b4f571
...
@@ -44,6 +44,7 @@
...
@@ -44,6 +44,7 @@
range-separator=
"~"
range-separator=
"~"
start-placeholder=
"开始时间"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
end-placeholder=
"结束时间"
popper-class=
"date-picker-popper"
:teleported=
"false"
:teleported=
"false"
/>
/>
</el-form-item>
</el-form-item>
...
@@ -128,6 +129,7 @@
...
@@ -128,6 +129,7 @@
v-model=
"equSubmitInfo.startTime"
v-model=
"equSubmitInfo.startTime"
type=
"datetime"
type=
"datetime"
placeholder=
"选择开始时间"
placeholder=
"选择开始时间"
popper-class=
"date-picker-popper"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
...
@@ -135,6 +137,7 @@
...
@@ -135,6 +137,7 @@
v-model=
"equSubmitInfo.endTime"
v-model=
"equSubmitInfo.endTime"
type=
"datetime"
type=
"datetime"
placeholder=
"选择结束时间"
placeholder=
"选择结束时间"
popper-class=
"date-picker-popper"
/>
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
...
src/views/closeManage/myAgency.vue
View file @
41b4f571
...
@@ -2,18 +2,19 @@
...
@@ -2,18 +2,19 @@
<div
class=
"my-agency all-select-btn"
>
<div
class=
"my-agency all-select-btn"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item
label=
"事件名称:"
>
<el-form-item
label=
"事件名称:"
>
<el-input
v-model=
"formInline.eventName"
>
<el-input
v-model=
"formInline.eventName"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"发生位置:"
>
<el-form-item
label=
"发生位置:"
>
<el-input
v-model=
"formInline.keyword"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"formInline.keyword"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属工序:"
>
<el-form-item
label=
"所属工序:"
>
<el-select
v-model=
"formInline.productionLineId"
<el-select
v-model=
"formInline.productionLineId"
placeholder=
"请选择"
placeholder=
"请选择"
style=
"width: 180px"
style=
"width: 180px"
>
>
<el-option
v-for=
"(item, index) in basicConfiguration.productLineList"
<el-option
v-for=
"(item, index) in basicConfiguration.productLineList"
:key=
"item.productionLineId"
:key=
"item.productionLineId"
:label=
"item.productionLineName"
:label=
"item.productionLineName"
:value=
"item.productionLineId"
:value=
"item.productionLineId"
...
@@ -21,7 +22,8 @@
...
@@ -21,7 +22,8 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"设备类型"
>
<el-form-item
label=
"设备类型"
>
<el-select
v-model=
"formInline.deviceType"
<el-select
v-model=
"formInline.deviceType"
style=
"width: 180px"
style=
"width: 180px"
placeholder=
"请选择"
placeholder=
"请选择"
>
>
...
@@ -36,18 +38,27 @@
...
@@ -36,18 +38,27 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"发生时间"
>
<el-form-item
label=
"发生时间"
>
<el-date-picker
type=
"datetimerange"
<el-date-picker
type=
"datetimerange"
v-model=
"formInline.createTime"
v-model=
"formInline.createTime"
range-separator=
"至"
range-separator=
"至"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
end-placeholder=
"结束日期"
format=
"YYYY-MM-DD HH:mm:ss"
format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
popper-class=
"date-picker-popper"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
class=
"default-btn reset-btn-balck-theme"
@
click=
"onReset"
>
重置
</el-button>
<el-button
class=
"default-btn reset-btn-balck-theme"
@
click=
"onReset"
<el-button
type=
"default"
class=
"default-btn search-btn-balck-theme"
@
click=
"onSearch"
>
查询
</el-button>
>
重置
</el-button
>
<el-button
type=
"default"
class=
"default-btn search-btn-balck-theme"
@
click=
"onSearch"
>
查询
</el-button
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"table-box"
>
<div
class=
"table-box"
>
...
@@ -103,10 +114,11 @@
...
@@ -103,10 +114,11 @@
<div
class=
"label-title"
>
闭环控制分派
</div>
<div
class=
"label-title"
>
闭环控制分派
</div>
<el-form-item
label=
"已分派人:"
>
<el-form-item
label=
"已分派人:"
>
<el-tag
<el-tag
v-for=
"(ele,eIndex) in personTag"
v-for=
"(ele,
eIndex) in personTag"
:key=
"ele.name"
:key=
"ele.name"
:type=
"ele.type"
>
:type=
"ele.type"
{{ele.name}}
>
{{ ele.name }}
</el-tag>
</el-tag>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -125,7 +137,9 @@
...
@@ -125,7 +137,9 @@
</div>
</div>
<div
class=
"content-item"
>
<div
class=
"content-item"
>
<span
class=
"name"
>
闭环控制状态:
</span>
<span
class=
"name"
>
闭环控制状态:
</span>
<span
class=
"value work-status"
>
{{ workSheetDetail?.desc }}
</span>
<span
class=
"value work-status"
>
{{
workSheetDetail?.desc
}}
</span>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
...
@@ -166,8 +180,11 @@
...
@@ -166,8 +180,11 @@
workSheetDetail?.warnType != 20 &&
workSheetDetail?.warnType != 20 &&
workSheetDetail?.warnType != 21
workSheetDetail?.warnType != 21
"
"
>
告警值:
</span>
>
告警值:
</span
<span
class=
"name"
v-else-if=
"workSheetDetail?.warnType == 4"
>
离线时长:
</span>
>
<span
class=
"name"
v-else-if=
"workSheetDetail?.warnType == 4"
>
离线时长:
</span
>
<span
<span
class=
"value alarm-value"
class=
"value alarm-value"
v-if=
"
v-if=
"
...
@@ -175,16 +192,21 @@
...
@@ -175,16 +192,21 @@
workSheetDetail.warnType != 4 &&
workSheetDetail.warnType != 4 &&
workSheetDetail.warnType != 18
workSheetDetail.warnType != 18
"
"
>
{{ workSheetDetail?.value }}{{ workSheetDetail?.unit }}
</span
>
{{ workSheetDetail?.value
}}{{ workSheetDetail?.unit }}
</span
>
>
<span
<span
class=
"value alarm-value"
class=
"value alarm-value"
v-else-if=
"workSheetDetail?.warnType == 4"
v-else-if=
"workSheetDetail?.warnType == 4"
>
{{ warnValueFilter(workSheetDetail?.offlineTime) }}
</span>
>
{{ warnValueFilter(workSheetDetail?.offlineTime) }}
</span
>
</div>
</div>
<div
class=
"content-item"
v-if=
"workSheetDetail?.convertValue"
>
<div
class=
"content-item"
v-if=
"workSheetDetail?.convertValue"
>
<span
class=
"name"
>
折算值:
</span>
<span
class=
"name"
>
折算值:
</span>
<span
class=
"value alarm-value"
>
{{ workSheetDetail?.convertValue }}{{ workSheetDetail?.unit }}
</span>
<span
class=
"value alarm-value"
>
{{ workSheetDetail?.convertValue
}}{{ workSheetDetail?.unit }}
</span
>
</div>
</div>
<div
class=
"content-item"
>
<div
class=
"content-item"
>
<span
class=
"name"
>
告警时间:
</span>
<span
class=
"name"
>
告警时间:
</span>
...
@@ -423,7 +445,10 @@
...
@@ -423,7 +445,10 @@
</div>
</div>
<div
<div
class=
"input-style-text"
class=
"input-style-text"
v-if=
" !workSheetDetail?.forwards[0]?.forward && imgUrlList.length == 0"
v-if=
"
!workSheetDetail?.forwards[0]?.forward &&
imgUrlList.length == 0
"
>
>
暂无描述
暂无描述
</div>
</div>
...
@@ -566,7 +591,11 @@
...
@@ -566,7 +591,11 @@
<el-form>
<el-form>
<el-form-item
label=
"分派人:"
>
<el-form-item
label=
"分派人:"
>
<div
class=
"inline-box"
>
<div
class=
"inline-box"
>
<el-select
v-model=
"handlerPeopleId"
filterable
placeholder=
"请选择分派人"
>
<el-select
v-model=
"handlerPeopleId"
filterable
placeholder=
"请选择分派人"
>
<el-option
<el-option
v-for=
"(item, i) in handlerPeople"
v-for=
"(item, i) in handlerPeople"
:key=
"i"
:key=
"i"
...
@@ -574,17 +603,23 @@
...
@@ -574,17 +603,23 @@
:value=
"item.id"
:value=
"item.id"
></el-option>
></el-option>
</el-select>
</el-select>
<el-button
type=
"default"
class=
"addBtn search-btn-balck-theme"
@
click=
"addPerson"
>
新增
</el-button>
<el-button
type=
"default"
class=
"addBtn search-btn-balck-theme"
@
click=
"addPerson"
>
新增
</el-button
>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"已分派人:"
>
<el-form-item
label=
"已分派人:"
>
<el-tag
<el-tag
v-for=
"(ele,
eIndex) in personTag"
v-for=
"(ele,
eIndex) in personTag"
:key=
"ele.name"
:key=
"ele.name"
closable
closable
@
close=
"delPerson(eIndex)"
@
close=
"delPerson(eIndex)"
:type=
"ele.type"
>
:type=
"ele.type"
{{ele.name}}
>
{{ ele.name }}
</el-tag>
</el-tag>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -599,9 +634,14 @@
...
@@ -599,9 +634,14 @@
>
>
<el-form>
<el-form>
<el-form-item
label=
"第几行:"
>
<el-form-item
label=
"第几行:"
>
<el-select
v-model=
"bagRow"
placeholder=
"请选择第几行"
@
change=
"getCol"
>
<el-select
v-model=
"bagRow"
placeholder=
"请选择第几行"
@
change=
"getCol"
>
<el-option
<el-option
v-for=
"item in rowList"
:key=
"item"
v-for=
"item in rowList"
:key=
"item"
:label=
"item"
:label=
"item"
:value=
"item"
:value=
"item"
>
>
...
@@ -611,7 +651,8 @@
...
@@ -611,7 +651,8 @@
<el-form-item
label=
"第几列:"
>
<el-form-item
label=
"第几列:"
>
<el-select
v-model=
"bagCol"
placeholder=
"请选择第几列"
>
<el-select
v-model=
"bagCol"
placeholder=
"请选择第几列"
>
<el-option
<el-option
v-for=
"item in colList"
:key=
"item"
v-for=
"item in colList"
:key=
"item"
:label=
"item"
:label=
"item"
:value=
"item"
:value=
"item"
>
>
...
@@ -624,14 +665,20 @@
...
@@ -624,14 +665,20 @@
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
ref
,
reactive
,
onMounted
,
onBeforeUnmount
,
computed
}
from
'vue'
import
{
ref
,
reactive
,
onMounted
,
onBeforeUnmount
,
computed
}
from
"vue"
;
import
CommonTable
from
"@/components/commonTable/index.vue"
;
import
CommonTable
from
"@/components/commonTable/index.vue"
;
import
commonDialog
from
"./components/dialog.vue"
;
import
commonDialog
from
"./components/dialog.vue"
;
import
{
getData
,
getDataFun
,
postData
,
postDataJson
,
postDataJSON
}
from
'@/request/method.js'
;
import
{
import
moment
from
'moment'
;
getData
,
import
{
getToken
}
from
'@/utils/auth.js'
;
getDataFun
,
import
{
ElMessage
}
from
'element-plus'
postData
,
import
{
storeToRefs
}
from
'pinia'
postDataJson
,
postDataJSON
,
}
from
"@/request/method.js"
;
import
moment
from
"moment"
;
import
{
getToken
}
from
"@/utils/auth.js"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
storeToRefs
}
from
"pinia"
;
import
{
useUsersStore
}
from
"@/pinia/user.js"
;
import
{
useUsersStore
}
from
"@/pinia/user.js"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
import
{
useRoute
,
useRouter
}
from
"vue-router"
;
const
router
=
useRouter
();
const
router
=
useRouter
();
...
@@ -640,11 +687,11 @@ const route = useRoute();
...
@@ -640,11 +687,11 @@ const route = useRoute();
const
{
functionAuthority
}
=
storeToRefs
(
useUsersStore
());
const
{
functionAuthority
}
=
storeToRefs
(
useUsersStore
());
const
total
=
ref
(
0
);
const
total
=
ref
(
0
);
const
formInline
=
ref
({
const
formInline
=
ref
({
eventName
:
''
,
eventName
:
""
,
keyword
:
''
,
keyword
:
""
,
warnType
:
''
,
warnType
:
""
,
productionLineId
:
''
,
productionLineId
:
""
,
deviceType
:
''
,
deviceType
:
""
,
createTime
:
route
.
query
.
startTime
createTime
:
route
.
query
.
startTime
?
[
?
[
moment
(
new
Date
(
route
.
query
.
startTime
).
getTime
()).
format
(
moment
(
new
Date
(
route
.
query
.
startTime
).
getTime
()).
format
(
...
@@ -654,16 +701,16 @@ const formInline = ref({
...
@@ -654,16 +701,16 @@ const formInline = ref({
"YYYY-MM-DD HH:mm:ss"
"YYYY-MM-DD HH:mm:ss"
),
),
]
]
:
[
''
,
''
]
:
[
""
,
""
],
});
});
const
workTicketNo
=
ref
(
''
);
const
workTicketNo
=
ref
(
""
);
const
handlerPeopleId
=
ref
(
''
);
const
handlerPeopleId
=
ref
(
""
);
const
handlerPeople
=
ref
([]);
const
handlerPeople
=
ref
([]);
const
getHandlerPeople
=
async
()
=>
{
const
getHandlerPeople
=
async
()
=>
{
const
url
=
'/transfer-work-ticket-pc/getTicketHandler?pageSize=999&pageNo=1'
;
const
url
=
"/transfer-work-ticket-pc/getTicketHandler?pageSize=999&pageNo=1"
;
try
{
try
{
let
result
=
await
getData
(
url
);
let
result
=
await
getData
(
url
);
if
(
result
&&
result
.
code
===
1
)
{
if
(
result
&&
result
.
code
===
1
)
{
...
@@ -672,180 +719,180 @@ const getHandlerPeople = async () => {
...
@@ -672,180 +719,180 @@ const getHandlerPeople = async () => {
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
ElMessage
({
ElMessage
({
message
:
'接口报错'
,
message
:
"接口报错"
,
type
:
'error'
type
:
"error"
,
})
})
;
}
}
}
}
;
const
assignDialog
=
ref
({
const
assignDialog
=
ref
({
title
:
'闭环控制分派'
,
title
:
"闭环控制分派"
,
show
:
false
,
show
:
false
,
width
:
'30%'
,
width
:
"30%"
,
btnGroup
:
[
btnGroup
:
[
{
{
attrKey
:
'save'
,
attrKey
:
"save"
,
label
:
'保存'
label
:
"保存"
,
}
}
,
]
]
,
});
});
const
bagDialog
=
ref
({
const
bagDialog
=
ref
({
title
:
'更换布袋'
,
title
:
"更换布袋"
,
show
:
false
,
show
:
false
,
width
:
'30%'
,
width
:
"30%"
,
btnGroup
:
[
btnGroup
:
[
{
{
attrKey
:
'save'
,
attrKey
:
"save"
,
label
:
'保存'
label
:
"保存"
,
}
}
,
]
]
,
});
});
const
bagRow
=
ref
(
''
);
const
bagRow
=
ref
(
""
);
const
bagCol
=
ref
(
''
);
const
bagCol
=
ref
(
""
);
const
rowList
=
ref
([]);
const
rowList
=
ref
([]);
const
colList
=
ref
([]);
const
colList
=
ref
([]);
const
saveBag
=
()
=>
{
const
saveBag
=
()
=>
{
if
(
bagRow
.
value
===
""
)
{
if
(
bagRow
.
value
===
''
)
{
ElMessage
({
ElMessage
({
type
:
'warning'
,
type
:
"warning"
,
message
:
'请选择第几行'
message
:
"请选择第几行"
,
});
});
return
;
return
;
}
}
if
(
bagCol
.
value
===
''
)
{
if
(
bagCol
.
value
===
""
)
{
ElMessage
({
ElMessage
({
type
:
'warning'
,
type
:
"warning"
,
message
:
'请选择第几列'
message
:
"请选择第几列"
,
});
});
return
;
return
;
}
}
const
params
=
{
const
params
=
{
workTicketNo
:
workTicketNo
.
value
,
workTicketNo
:
workTicketNo
.
value
,
row
:
bagRow
.
value
,
row
:
bagRow
.
value
,
column
:
bagCol
.
value
column
:
bagCol
.
value
,
};
};
postDataJSON
(
'/transaction/doc/changeBag'
,
params
).
then
(
res
=>
{
postDataJSON
(
"/transaction/doc/changeBag"
,
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
if
(
res
.
code
===
1
)
{
ElMessage
({
ElMessage
({
type
:
'success'
,
type
:
"success"
,
message
:
'更换布袋成功'
message
:
"更换布袋成功"
,
});
});
bagDialog
.
value
.
show
=
false
;
bagDialog
.
value
.
show
=
false
;
searchData
();
searchData
();
}
}
});
});
}
}
;
const
rowLineMap
=
ref
(
null
);
const
rowLineMap
=
ref
(
null
);
const
getBagRowLine
=
(
no
)
=>
{
const
getBagRowLine
=
(
no
)
=>
{
const
url
=
'/bag/cycle/getCompartEnumList'
;
const
url
=
"/bag/cycle/getCompartEnumList"
;
const
params
=
{
const
params
=
{
deviceNo
:
no
deviceNo
:
no
,
}
}
;
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
if
(
res
.
code
===
1
)
{
rowLineMap
.
value
=
res
.
data
;
rowLineMap
.
value
=
res
.
data
;
res
.
data
.
forEach
(
item
=>
{
res
.
data
.
forEach
(
(
item
)
=>
{
rowList
.
value
.
push
(
item
.
row
);
rowList
.
value
.
push
(
item
.
row
);
});
});
}
}
})
})
;
}
}
;
const
getCol
=
()
=>
{
const
getCol
=
()
=>
{
rowLineMap
.
value
.
forEach
(
item
=>
{
rowLineMap
.
value
.
forEach
(
(
item
)
=>
{
if
(
item
.
row
===
bagRow
.
value
)
{
if
(
item
.
row
===
bagRow
.
value
)
{
colList
.
value
=
item
.
columns
;
colList
.
value
=
item
.
columns
;
}
}
});
});
}
}
;
const
personTag
=
ref
([]);
const
personTag
=
ref
([]);
const
addPerson
=
()
=>
{
const
addPerson
=
()
=>
{
const
target
=
handlerPeople
.
value
.
find
(
item
=>
item
.
id
===
handlerPeopleId
.
value
);
const
target
=
handlerPeople
.
value
.
find
(
(
item
)
=>
item
.
id
===
handlerPeopleId
.
value
);
personTag
.
value
.
push
({
personTag
.
value
.
push
({
userId
:
target
.
id
,
userId
:
target
.
id
,
userName
:
target
.
name
,
userName
:
target
.
name
,
name
:
target
.
name
,
name
:
target
.
name
,
type
:
'info'
type
:
"info"
,
});
});
}
}
;
const
delPerson
=
(
index
)
=>
{
const
delPerson
=
(
index
)
=>
{
personTag
.
value
.
splice
(
index
,
1
);
personTag
.
value
.
splice
(
index
,
1
);
}
}
;
const
getIndex
=
(
index
)
=>
{
const
getIndex
=
(
index
)
=>
{
return
(
currentPage
.
value
-
1
)
*
pageSize
.
value
+
index
+
1
;
return
(
currentPage
.
value
-
1
)
*
pageSize
.
value
+
index
+
1
;
};
};
const
saveAssign
=
()
=>
{
const
saveAssign
=
()
=>
{
if
(
personTag
.
value
.
length
===
0
)
{
if
(
personTag
.
value
.
length
===
0
)
{
ElMessage
({
ElMessage
({
showClose
:
true
,
showClose
:
true
,
type
:
'warning'
,
type
:
"warning"
,
message
:
'请选择分派人'
message
:
"请选择分派人"
,
})
})
;
}
}
const
tempArr
=
[];
const
tempArr
=
[];
personTag
.
value
.
forEach
(
item
=>
{
personTag
.
value
.
forEach
(
(
item
)
=>
{
tempArr
.
push
({
tempArr
.
push
({
userId
:
item
.
userId
,
userId
:
item
.
userId
,
userName
:
item
.
userName
userName
:
item
.
userName
,
})
})
;
});
});
const
params
=
{
const
params
=
{
workTicketNo
:
workTicketNo
.
value
,
workTicketNo
:
workTicketNo
.
value
,
receiveUser
:
''
,
receiveUser
:
""
,
receiveUserName
:
''
,
receiveUserName
:
""
,
handleUsers
:
tempArr
handleUsers
:
tempArr
,
}
}
;
const
url
=
'/transaction/doc/transferTransaction'
;
const
url
=
"/transaction/doc/transferTransaction"
;
dispatchHandle
(
url
,
params
);
dispatchHandle
(
url
,
params
);
}
}
;
const
dispatchHandle
=
async
(
url
,
param
)
=>
{
const
dispatchHandle
=
async
(
url
,
param
)
=>
{
try
{
try
{
let
result
=
await
postDataJSON
(
url
,
param
);
let
result
=
await
postDataJSON
(
url
,
param
);
if
(
result
&&
result
.
code
===
1
)
{
if
(
result
&&
result
.
code
===
1
)
{
assignDialog
.
value
.
show
=
false
;
assignDialog
.
value
.
show
=
false
;
ElMessage
({
ElMessage
({
message
:
'处理成功'
,
message
:
"处理成功"
,
type
:
'success'
type
:
"success"
,
});
});
searchData
();
searchData
();
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{}
}
};
}
const
basicConfiguration
=
reactive
({
const
basicConfiguration
=
reactive
({
ticketEventName
:
[{
name
:
'全部'
,
id
:
''
}],
ticketEventName
:
[{
name
:
"全部"
,
id
:
""
}],
eventTypeList
:
[],
eventTypeList
:
[],
productLineList
:
[{
productionLineName
:
'全部'
,
productionLineId
:
''
}],
productLineList
:
[{
productionLineName
:
"全部"
,
productionLineId
:
""
}],
deviceList
:
[]
deviceList
:
[]
,
});
});
const
workSheetDetail
=
ref
(
null
);
const
workSheetDetail
=
ref
(
null
);
const
getColor
=
computed
(()
=>
{
const
getColor
=
computed
(()
=>
{
return
(
level
)
=>
{
return
(
level
)
=>
{
if
(
level
==
2
)
{
if
(
level
==
2
)
{
return
'red'
return
"red"
;
}
else
if
(
level
==
1
)
{
}
else
if
(
level
==
1
)
{
return
'yellow'
return
"yellow"
;
}
else
{
}
else
{
return
'purple'
return
"purple"
;
}
}
}
};
});
});
const
warnValueFilter
=
computed
(()
=>
{
const
warnValueFilter
=
computed
(()
=>
{
return
(
offlineTime
)
=>
{
return
(
offlineTime
)
=>
{
if
(
offlineTime
==
null
||
offlineTime
<=
0
)
{
if
(
offlineTime
==
null
||
offlineTime
<=
0
)
{
return
"--"
;
return
"--"
;
}
}
...
@@ -874,71 +921,69 @@ const warnValueFilter = computed(()=> {
...
@@ -874,71 +921,69 @@ const warnValueFilter = computed(()=> {
}
}
return
s
;
return
s
;
}
}
}
}
;
});
});
const
onSearch
=
()
=>
{
const
onSearch
=
()
=>
{
searchData
();
searchData
();
}
}
;
const
onReset
=
()
=>
{
const
onReset
=
()
=>
{
currentPage
.
value
=
1
;
currentPage
.
value
=
1
;
pageSize
.
value
=
20
;
pageSize
.
value
=
20
;
formInline
.
value
.
eventName
=
''
;
formInline
.
value
.
eventName
=
""
;
formInline
.
value
.
keyword
=
''
;
formInline
.
value
.
keyword
=
""
;
formInline
.
value
.
productionLineId
=
''
;
formInline
.
value
.
productionLineId
=
""
;
formInline
.
value
.
deviceType
=
''
;
formInline
.
value
.
deviceType
=
""
;
formInline
.
value
.
createTime
=
[
formInline
.
value
.
createTime
=
[
""
,
""
];
''
,
''
]
searchData
();
searchData
();
}
}
;
const
doneDialog
=
ref
({
const
doneDialog
=
ref
({
title
:
'闭环控制分派'
,
title
:
"闭环控制分派"
,
show
:
false
,
show
:
false
,
width
:
'45%'
,
width
:
"45%"
,
btnGroup
:
[
btnGroup
:
[
{
{
attrKey
:
'save'
,
attrKey
:
"save"
,
label
:
'处理'
label
:
"处理"
,
}
}
,
]
]
,
});
});
const
viewData
=
{
const
viewData
=
{
D
:
"在线监控(监测)仪器仪表故障"
,
D
:
"在线监控(监测)仪器仪表故障"
,
B
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
B
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
VGD
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
VGD
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
}
}
;
const
handleDone
=
async
(
data
)
=>
{
const
handleDone
=
async
(
data
)
=>
{
doneDialog
.
value
.
title
=
data
.
eventName
;
doneDialog
.
value
.
title
=
data
.
eventName
;
workTicketNo
.
value
=
data
.
workTicketNo
;
workTicketNo
.
value
=
data
.
workTicketNo
;
let
res
=
await
getDetail
(
data
.
workTicketNo
);
let
res
=
await
getDetail
(
data
.
workTicketNo
);
doneDialog
.
value
.
show
=
true
;
doneDialog
.
value
.
show
=
true
;
personTag
.
value
=
[];
personTag
.
value
=
[];
if
(
res
.
handleUsers
&&
res
.
handleUsers
.
length
>
0
)
{
if
(
res
.
handleUsers
&&
res
.
handleUsers
.
length
>
0
)
{
res
.
handleUsers
.
forEach
(
item
=>
{
res
.
handleUsers
.
forEach
(
(
item
)
=>
{
personTag
.
value
.
push
({
personTag
.
value
.
push
({
type
:
'info'
,
type
:
"info"
,
name
:
item
.
userName
,
name
:
item
.
userName
,
userId
:
item
.
userId
,
userId
:
item
.
userId
,
userName
:
item
.
userName
userName
:
item
.
userName
,
});
});
});
});
}
}
disposeWorkSheetDetail
(
res
);
disposeWorkSheetDetail
(
res
);
}
}
;
const
saveDeal
=
()
=>
{
const
saveDeal
=
()
=>
{
const
{
workTicketNo
,
handleValue
,
imgUrl
}
=
workSheetDetail
.
value
;
const
{
workTicketNo
,
handleValue
,
imgUrl
}
=
workSheetDetail
.
value
;
const
reason
=
dialogReason
.
value
;
const
reason
=
dialogReason
.
value
;
const
measure
=
dialogMeasure
.
value
;
const
measure
=
dialogMeasure
.
value
;
const
param
=
{
workTicketNo
,
handleValue
,
reason
,
measure
,
imgUrl
};
const
param
=
{
workTicketNo
,
handleValue
,
reason
,
measure
,
imgUrl
};
const
url
=
'/transaction/doc/finishTransaction'
;
const
url
=
"/transaction/doc/finishTransaction"
;
disposeHandle
(
url
,
param
);
disposeHandle
(
url
,
param
);
}
}
;
const
disposeHandle
=
async
(
url
,
param
)
=>
{
const
disposeHandle
=
async
(
url
,
param
)
=>
{
try
{
try
{
...
@@ -947,141 +992,147 @@ const disposeHandle = async (url, param) => {
...
@@ -947,141 +992,147 @@ const disposeHandle = async (url, param) => {
doneDialog
.
value
.
show
=
false
;
doneDialog
.
value
.
show
=
false
;
searchData
();
searchData
();
ElMessage
({
ElMessage
({
message
:
'处理成功'
,
message
:
"处理成功"
,
type
:
'success'
type
:
"success"
,
});
});
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
ElMessage
({
ElMessage
({
message
:
'处理失败'
,
message
:
"处理失败"
,
type
:
'error'
type
:
"error"
,
});
});
}
}
};
};
// 分派
// 分派
const
handleDispatch
=
async
(
data
)
=>
{
const
handleDispatch
=
async
(
data
)
=>
{
getHandlerPeople
();
getHandlerPeople
();
workTicketNo
.
value
=
data
.
workTicketNo
;
workTicketNo
.
value
=
data
.
workTicketNo
;
let
res
=
await
getDetail
(
data
.
workTicketNo
);
let
res
=
await
getDetail
(
data
.
workTicketNo
);
assignDialog
.
value
.
show
=
true
;
assignDialog
.
value
.
show
=
true
;
personTag
.
value
=
[];
personTag
.
value
=
[];
if
(
res
.
handleUsers
&&
res
.
handleUsers
.
length
>
0
)
{
if
(
res
.
handleUsers
&&
res
.
handleUsers
.
length
>
0
)
{
res
.
handleUsers
.
forEach
(
item
=>
{
res
.
handleUsers
.
forEach
((
item
)
=>
{
personTag
.
value
.
push
({
personTag
.
value
.
push
({
type
:
'info'
,
type
:
"info"
,
name
:
item
.
userName
,
name
:
item
.
userName
,
userId
:
item
.
userId
,
userId
:
item
.
userId
,
userName
:
item
.
userName
userName
:
item
.
userName
,
});
});
});
});
}
}
}
}
;
const
getDetail
=
(
workTicketNo
)
=>
{
const
getDetail
=
(
workTicketNo
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
url
=
'/transaction/doc/detail'
;
const
url
=
"/transaction/doc/detail"
;
const
params
=
{
const
params
=
{
workTicketNo
workTicketNo
,
}
};
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
)
.
then
((
res
)
=>
{
workSheetDetail
.
value
=
res
.
data
;
workSheetDetail
.
value
=
res
.
data
;
resolve
(
res
.
data
);
resolve
(
res
.
data
);
}).
catch
(
err
=>
{
})
.
catch
((
err
)
=>
{
reject
();
reject
();
});
});
});
});
}
}
;
const
changeBag
=
(
data
)
=>
{
const
changeBag
=
(
data
)
=>
{
workTicketNo
.
value
=
data
.
workTicketNo
;
workTicketNo
.
value
=
data
.
workTicketNo
;
getBagRowLine
(
data
.
deviceNo
);
getBagRowLine
(
data
.
deviceNo
);
bagDialog
.
value
.
show
=
true
;
bagDialog
.
value
.
show
=
true
;
}
}
;
const
tableData
=
ref
([]);
const
tableData
=
ref
([]);
const
tableColumns
=
ref
([
const
tableColumns
=
ref
([
{
{
prop
:
'index'
,
prop
:
"index"
,
label
:
'序号'
,
label
:
"序号"
,
width
:
'6%'
width
:
"6%"
,
},
},
{
{
prop
:
'workTicketNo'
,
prop
:
"workTicketNo"
,
label
:
'编号'
,
label
:
"编号"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'eventName'
,
prop
:
"eventName"
,
label
:
'事件名称'
,
label
:
"事件名称"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'deviceName'
,
prop
:
"deviceName"
,
label
:
'发生位置'
,
label
:
"发生位置"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'deviceNo'
,
prop
:
"deviceNo"
,
label
:
'设备编码'
,
label
:
"设备编码"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'typeName'
,
prop
:
"typeName"
,
label
:
'设备类型'
,
label
:
"设备类型"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'signalName'
,
prop
:
"signalName"
,
label
:
'信号名称'
,
label
:
"信号名称"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'productionLine'
,
label
:
'所属工序'
,
width
:
'10%'
},
prop
:
"productionLine"
,
{
prop
:
'warnTypeName'
,
label
:
'类型'
,
width
:
'10%'
},
label
:
"所属工序"
,
{
prop
:
'createTime'
,
label
:
'发生时间'
,
width
:
'10%'
},
width
:
"10%"
,
{
prop
:
'desc'
,
label
:
'闭环状态'
,
width
:
'10%'
},
},
{
prop
:
'handleUser'
,
label
:
'处理人'
,
width
:
'10%'
},
{
prop
:
"warnTypeName"
,
label
:
"类型"
,
width
:
"10%"
},
{
prop
:
'level'
,
label
:
'级别'
,
width
:
'5%'
},
{
prop
:
"createTime"
,
label
:
"发生时间"
,
width
:
"10%"
},
{
prop
:
"desc"
,
label
:
"闭环状态"
,
width
:
"10%"
},
{
prop
:
"handleUser"
,
label
:
"处理人"
,
width
:
"10%"
},
{
prop
:
"level"
,
label
:
"级别"
,
width
:
"5%"
},
{
{
prop
:
"operation"
,
prop
:
"operation"
,
label
:
"操作"
,
label
:
"操作"
,
width
:
'15%'
width
:
"15%"
,
},
},
]);
]);
const
customerId
=
getToken
(
'customerId'
);
const
customerId
=
getToken
(
"customerId"
);
const
getWarnAndTicketConfigMap
=
()
=>
{
const
getWarnAndTicketConfigMap
=
()
=>
{
const
url
=
'/system/getWarnAndTicketConfigMap'
;
const
url
=
"/system/getWarnAndTicketConfigMap"
;
const
params
=
{
const
params
=
{
customerId
customerId
,
}
}
;
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
code
===
1
)
{
if
(
res
&&
res
.
code
===
1
)
{
const
{
ticketEventName
}
=
res
.
data
;
const
{
ticketEventName
}
=
res
.
data
;
basicConfiguration
.
ticketEventName
=
basicConfiguration
.
ticketEventName
.
concat
(
ticketEventName
);
basicConfiguration
.
ticketEventName
=
basicConfiguration
.
ticketEventName
.
concat
(
ticketEventName
);
}
}
});
});
};
};
const
getDeviceType
=
()
=>
{
const
getDeviceType
=
()
=>
{
const
url
=
'/alarm/getDeviceType'
;
const
url
=
"/alarm/getDeviceType"
;
getData
(
url
).
then
(
res
=>
{
getData
(
url
).
then
(
(
res
)
=>
{
basicConfiguration
.
deviceList
=
res
.
data
;
basicConfiguration
.
deviceList
=
res
.
data
;
});
});
}
}
;
let
realBtn
=
''
;
let
realBtn
=
""
;
const
searchData
=
()
=>
{
const
searchData
=
()
=>
{
currentPage
.
value
=
1
;
currentPage
.
value
=
1
;
pageSize
.
value
=
20
;
pageSize
.
value
=
20
;
getTableData
();
getTableData
();
}
}
;
const
getTableData
=
()
=>
{
const
getTableData
=
()
=>
{
let
keyWord
=
formInline
.
value
.
keyword
;
let
keyWord
=
formInline
.
value
.
keyword
;
const
params
=
{
const
params
=
{
eventName
:
formInline
.
value
.
eventName
,
eventName
:
formInline
.
value
.
eventName
,
...
@@ -1095,77 +1146,76 @@ const getTableData = ()=> {
...
@@ -1095,77 +1146,76 @@ const getTableData = ()=> {
handleState
:
1
,
handleState
:
1
,
belongTo
:
1
,
belongTo
:
1
,
isDcTom
:
1
,
isDcTom
:
1
,
deviceType
:
formInline
.
value
.
deviceType
deviceType
:
formInline
.
value
.
deviceType
,
}
}
;
tableData
.
value
=
[];
tableData
.
value
=
[];
const
url
=
'/transaction/doc/getListParamPage'
;
const
url
=
"/transaction/doc/getListParamPage"
;
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
code
===
1
)
{
if
(
res
&&
res
.
code
===
1
)
{
const
{
list
}
=
res
.
data
;
const
{
list
}
=
res
.
data
;
total
.
value
=
res
.
data
.
total
;
total
.
value
=
res
.
data
.
total
;
disposeType
(
list
);
disposeType
(
list
);
tableData
.
value
=
list
;
tableData
.
value
=
list
;
tableData
.
value
.
forEach
(
item
=>
{
tableData
.
value
.
forEach
(
(
item
)
=>
{
item
.
handleUser
=
''
;
item
.
handleUser
=
""
;
item
.
handleUsers
.
forEach
((
ele
,
eIndex
)
=>
{
item
.
handleUsers
.
forEach
((
ele
,
eIndex
)
=>
{
if
(
eIndex
>
0
)
{
if
(
eIndex
>
0
)
{
item
.
handleUser
+=
','
+
ele
.
userName
;
item
.
handleUser
+=
","
+
ele
.
userName
;
}
else
{
}
else
{
item
.
handleUser
+=
ele
.
userName
;
item
.
handleUser
+=
ele
.
userName
;
}
}
});
});
});
});
}
}
});
});
}
}
;
const
disposeType
=
(
list
)
=>
{
const
disposeType
=
(
list
)
=>
{
if
(
list
.
length
)
{
if
(
list
.
length
)
{
list
.
forEach
(
l
=>
{
list
.
forEach
(
(
l
)
=>
{
if
(
!
l
.
deviceNo
)
{
if
(
!
l
.
deviceNo
)
{
l
.
deviceNo
=
'--'
;
l
.
deviceNo
=
"--"
;
}
}
switch
(
l
.
warnType
)
{
switch
(
l
.
warnType
)
{
case
0
:
case
0
:
l
.
warnType
=
'人工提交'
l
.
warnType
=
"人工提交"
;
break
break
;
case
1
:
case
1
:
l
.
warnType
=
'超标'
l
.
warnType
=
"超标"
;
break
break
;
case
2
:
case
2
:
l
.
warnType
=
'超低'
l
.
warnType
=
"超低"
;
break
break
;
case
3
:
case
3
:
l
.
warnType
=
'生产治理同步率'
l
.
warnType
=
"生产治理同步率"
;
break
break
;
case
4
:
case
4
:
l
.
warnType
=
'离线'
l
.
warnType
=
"离线"
;
break
break
;
case
5
:
case
5
:
l
.
warnType
=
'其他'
l
.
warnType
=
"其他"
;
break
break
;
case
10
:
case
10
:
l
.
warnType
=
'持续超标'
l
.
warnType
=
"持续超标"
;
break
break
;
case
11
:
case
11
:
l
.
warnType
=
'三倍超标'
l
.
warnType
=
"三倍超标"
;
break
break
;
case
99
:
case
99
:
l
.
warnType
=
'恒值'
l
.
warnType
=
"恒值"
;
break
break
;
}
}
})
})
;
}
}
}
}
;
const
srcList
=
ref
([]);
const
srcList
=
ref
([]);
const
dialogReason
=
ref
(
''
);
const
dialogReason
=
ref
(
""
);
const
dialogMeasure
=
ref
(
''
);
const
dialogMeasure
=
ref
(
""
);
const
imgUrlList
=
ref
([]);
const
imgUrlList
=
ref
([]);
const
alarmImg
=
ref
([]);
const
alarmImg
=
ref
([]);
const
disposeWorkSheetDetail
=
(
obj
)
=>
{
const
disposeWorkSheetDetail
=
(
obj
)
=>
{
const
{
const
{
reason
,
reason
,
measure
,
measure
,
...
@@ -1178,8 +1228,8 @@ const disposeWorkSheetDetail = (obj)=> {
...
@@ -1178,8 +1228,8 @@ const disposeWorkSheetDetail = (obj)=> {
if
(
forwards
.
length
>
0
)
{
if
(
forwards
.
length
>
0
)
{
let
receiveUserItem
=
forwards
.
slice
(
-
1
)[
0
];
let
receiveUserItem
=
forwards
.
slice
(
-
1
)[
0
];
}
}
dialogMeasure
.
value
=
''
;
dialogMeasure
.
value
=
""
;
dialogMeasure
.
value
=
''
;
dialogMeasure
.
value
=
""
;
srcList
.
value
=
[];
srcList
.
value
=
[];
imgUrlList
.
value
=
[];
imgUrlList
.
value
=
[];
...
@@ -1197,7 +1247,7 @@ const disposeWorkSheetDetail = (obj)=> {
...
@@ -1197,7 +1247,7 @@ const disposeWorkSheetDetail = (obj)=> {
if
(
imgUrl
)
{
if
(
imgUrl
)
{
imgUrlList
.
value
=
imgUrl
.
split
(
";"
);
imgUrlList
.
value
=
imgUrl
.
split
(
";"
);
}
}
}
}
;
// 其他页面跳转当前页面,携带参数初始化
// 其他页面跳转当前页面,携带参数初始化
const
getInitParams
=
()
=>
{
const
getInitParams
=
()
=>
{
if
(
route
.
query
)
{
if
(
route
.
query
)
{
...
@@ -1212,8 +1262,8 @@ const getInitParams = () => {
...
@@ -1212,8 +1262,8 @@ const getInitParams = () => {
formInline
.
value
.
createTime
[
1
]
=
suspendEndTime
;
formInline
.
value
.
createTime
[
1
]
=
suspendEndTime
;
}
}
}
}
}
}
;
onMounted
(()
=>
{
onMounted
(()
=>
{
getInitParams
();
getInitParams
();
getProDuctLine
();
getProDuctLine
();
getWarnAndTicketConfigMap
();
getWarnAndTicketConfigMap
();
...
@@ -1224,13 +1274,12 @@ onMounted(()=>{
...
@@ -1224,13 +1274,12 @@ onMounted(()=>{
const
formModel
=
ref
({
const
formModel
=
ref
({
selectReason
:
[],
selectReason
:
[],
});
});
const
getProDuctLine
=
()
=>
{
const
getProDuctLine
=
()
=>
{
const
url
=
'/transaction/getProductionLine'
;
const
url
=
"/transaction/getProductionLine"
;
getData
(
url
).
then
(
res
=>
{
getData
(
url
).
then
(
(
res
)
=>
{
basicConfiguration
.
productLineList
.
push
(...
res
.
data
);
basicConfiguration
.
productLineList
.
push
(...
res
.
data
);
});
});
}
};
const
currentPage
=
ref
(
1
);
const
currentPage
=
ref
(
1
);
const
pageSize
=
ref
(
20
);
const
pageSize
=
ref
(
20
);
...
@@ -1246,7 +1295,7 @@ const handlePaginationChange = (pagination) => {
...
@@ -1246,7 +1295,7 @@ const handlePaginationChange = (pagination) => {
width
:
100%
;
width
:
100%
;
height
:
calc
(
100%
-
14px
);
height
:
calc
(
100%
-
14px
);
box-sizing
:
border-box
;
box-sizing
:
border-box
;
background
:
#181
D
21
;
background
:
#181
d
21
;
padding
:
20px
;
padding
:
20px
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
...
src/views/closeManage/myDone.vue
View file @
41b4f571
...
@@ -2,18 +2,19 @@
...
@@ -2,18 +2,19 @@
<div
class=
"my-agency all-select-btn"
>
<div
class=
"my-agency all-select-btn"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form
:inline=
"true"
:model=
"formInline"
class=
"demo-form-inline"
>
<el-form-item
label=
"事件名称:"
>
<el-form-item
label=
"事件名称:"
>
<el-input
v-model=
"formInline.eventName"
>
<el-input
v-model=
"formInline.eventName"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"发生位置:"
>
<el-form-item
label=
"发生位置:"
>
<el-input
v-model=
"formInline.keyword"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"formInline.keyword"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属工序:"
>
<el-form-item
label=
"所属工序:"
>
<el-select
v-model=
"formInline.productionLineId"
<el-select
v-model=
"formInline.productionLineId"
placeholder=
"请选择"
placeholder=
"请选择"
style=
"width: 180px"
style=
"width: 180px"
>
>
<el-option
v-for=
"(item, index) in basicConfiguration.productLineList"
<el-option
v-for=
"(item, index) in basicConfiguration.productLineList"
:key=
"item.productionLineId"
:key=
"item.productionLineId"
:label=
"item.productionLineName"
:label=
"item.productionLineName"
:value=
"item.productionLineId"
:value=
"item.productionLineId"
...
@@ -21,7 +22,8 @@
...
@@ -21,7 +22,8 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"设备类型"
>
<el-form-item
label=
"设备类型"
>
<el-select
v-model=
"formInline.deviceType"
<el-select
v-model=
"formInline.deviceType"
style=
"width: 180px"
style=
"width: 180px"
placeholder=
"请选择"
placeholder=
"请选择"
>
>
...
@@ -36,18 +38,27 @@
...
@@ -36,18 +38,27 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"发生时间"
>
<el-form-item
label=
"发生时间"
>
<el-date-picker
type=
"datetimerange"
<el-date-picker
type=
"datetimerange"
v-model=
"formInline.createTime"
v-model=
"formInline.createTime"
range-separator=
"至"
range-separator=
"至"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
end-placeholder=
"结束日期"
format=
"YYYY-MM-DD HH:mm:ss"
format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
popper-class=
"date-picker-popper"
/>
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"default"
class=
"reset-btn-balck-theme"
@
click=
"onReset"
>
重置
</el-button>
<el-button
type=
"default"
class=
"reset-btn-balck-theme"
@
click=
"onReset"
<el-button
type=
"default"
class=
"search-btn-balck-theme"
@
click=
"onSearch"
>
查询
</el-button>
>
重置
</el-button
>
<el-button
type=
"default"
class=
"search-btn-balck-theme"
@
click=
"onSearch"
>
查询
</el-button
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"table-box"
>
<div
class=
"table-box"
>
...
@@ -77,7 +88,7 @@
...
@@ -77,7 +88,7 @@
<span
class=
"view-btn green-color"
@
click=
"handleView(row)"
>
<span
class=
"view-btn green-color"
@
click=
"handleView(row)"
>
查看
查看
</span>
</span>
<!--
<span
class=
"table-btn"
>
|
</span>
<!--
<span
class=
"table-btn"
>
|
</span>
<span
class=
"view-btn"
@
click=
"handleReject(row)"
>
<span
class=
"view-btn"
@
click=
"handleReject(row)"
>
驳回
驳回
</span>
</span>
...
@@ -148,19 +159,24 @@
...
@@ -148,19 +159,24 @@
workSheetDetail.warnType != 20 &&
workSheetDetail.warnType != 20 &&
workSheetDetail.warnType != 21
workSheetDetail.warnType != 21
"
"
>
告警值:
</span>
>
告警值:
</span
<span
class=
"name"
v-else-if=
"workSheetDetail.warnType == 4"
>
离线时长:
</span>
>
<span
class=
"name"
v-else-if=
"workSheetDetail.warnType == 4"
>
离线时长:
</span
>
<span
<span
class=
"value alarm-value"
class=
"value alarm-value"
v-if=
"
v-if=
"
workSheetDetail.warnType != 99 &&
workSheetDetail.warnType != 99 &&
workSheetDetail.warnType != 4
workSheetDetail.warnType != 4
"
"
>
{{ workSheetDetail.value }}{{ workSheetDetail.unit }}
</span>
>
{{ workSheetDetail.value }}{{ workSheetDetail.unit }}
</span
>
<span
<span
class=
"value alarm-value"
class=
"value alarm-value"
v-else-if=
"workSheetDetail.warnType == 4"
v-else-if=
"workSheetDetail.warnType == 4"
>
{{ warnValueFilter(workSheetDetail?.offlineTime) }}
</span>
>
{{ warnValueFilter(workSheetDetail?.offlineTime) }}
</span
>
<span
class=
"value alarm-value"
v-else
>
<span
class=
"value alarm-value"
v-else
>
{{ workSheetDetail.totalConstantTime }}
{{ workSheetDetail.totalConstantTime }}
</span>
</span>
...
@@ -220,7 +236,9 @@
...
@@ -220,7 +236,9 @@
</div>
</div>
<div
<div
class=
"content-item"
class=
"content-item"
v-if=
"workSheetDetail.warnType && workSheetDetail.warnType == 3"
v-if=
"
workSheetDetail.warnType && workSheetDetail.warnType == 3
"
>
>
<span
class=
"name"
>
运行状态:
</span>
<span
class=
"name"
>
运行状态:
</span>
<span
class=
"value"
>
{{ workSheetDetail.runState }}
</span>
<span
class=
"value"
>
{{ workSheetDetail.runState }}
</span>
...
@@ -230,7 +248,9 @@
...
@@ -230,7 +248,9 @@
v-if=
"workSheetDetail.metric == 'TSP浓度'"
v-if=
"workSheetDetail.metric == 'TSP浓度'"
>
>
<span
class=
"name change-style"
>
TSP粉尘污染溯源结果:
</span>
<span
class=
"name change-style"
>
TSP粉尘污染溯源结果:
</span>
<span
class=
"value"
>
{{ workSheetDetail.sourceTrace || "无"}}
</span>
<span
class=
"value"
>
{{
workSheetDetail.sourceTrace || "无"
}}
</span>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
...
@@ -683,7 +703,8 @@
...
@@ -683,7 +703,8 @@
<el-form>
<el-form>
<el-form-item
label=
"驳回原因"
>
<el-form-item
label=
"驳回原因"
>
<el-select
v-model=
"rejectType"
>
<el-select
v-model=
"rejectType"
>
<el-option
v-for=
"(item, i) in reasonList"
<el-option
v-for=
"(item, i) in reasonList"
:key=
"i"
:key=
"i"
:label=
"item.description"
:label=
"item.description"
:value=
"item.rejectType"
:value=
"item.rejectType"
...
@@ -693,7 +714,12 @@
...
@@ -693,7 +714,12 @@
</el-form-item>
</el-form-item>
<el-row>
<el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-input
type=
"textarea"
v-model=
"rejectReason"
:autosize=
"{ minRows: 2, maxRows: 12 }"
placeholder=
"请输入内容"
>
<el-input
type=
"textarea"
v-model=
"rejectReason"
:autosize=
"{ minRows: 2, maxRows: 12 }"
placeholder=
"请输入内容"
>
</el-input>
</el-input>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -709,9 +735,14 @@
...
@@ -709,9 +735,14 @@
>
>
<el-form>
<el-form>
<el-form-item
label=
"第几行:"
>
<el-form-item
label=
"第几行:"
>
<el-select
v-model=
"bagRow"
placeholder=
"请选择第几行"
@
change=
"getCol"
>
<el-select
v-model=
"bagRow"
placeholder=
"请选择第几行"
@
change=
"getCol"
>
<el-option
<el-option
v-for=
"item in rowList"
:key=
"item"
v-for=
"item in rowList"
:key=
"item"
:label=
"item"
:label=
"item"
:value=
"item"
:value=
"item"
>
>
...
@@ -721,7 +752,8 @@
...
@@ -721,7 +752,8 @@
<el-form-item
label=
"第几列:"
>
<el-form-item
label=
"第几列:"
>
<el-select
v-model=
"bagCol"
placeholder=
"请选择第几列"
>
<el-select
v-model=
"bagCol"
placeholder=
"请选择第几列"
>
<el-option
<el-option
v-for=
"item in colList"
:key=
"item"
v-for=
"item in colList"
:key=
"item"
:label=
"item"
:label=
"item"
:value=
"item"
:value=
"item"
>
>
...
@@ -734,24 +766,26 @@
...
@@ -734,24 +766,26 @@
</template>
</template>
<
script
setup
>
<
script
setup
>
import
{
ref
,
reactive
,
onMounted
,
onBeforeUnmount
,
computed
}
from
'vue'
import
{
ref
,
reactive
,
onMounted
,
onBeforeUnmount
,
computed
}
from
"vue"
;
import
CommonTable
from
"@/components/commonTable/index.vue"
;
import
CommonTable
from
"@/components/commonTable/index.vue"
;
import
commonDialog
from
"./components/dialog.vue"
;
import
commonDialog
from
"./components/dialog.vue"
;
import
{
getData
,
getDataFun
,
postDataJSON
}
from
'@/request/method.js'
;
import
{
getData
,
getDataFun
,
postDataJSON
}
from
"@/request/method.js"
;
import
moment
from
'moment'
;
import
moment
from
"moment"
;
import
{
getToken
}
from
'@/utils/auth.js'
;
import
{
getToken
}
from
"@/utils/auth.js"
;
import
{
ElMessage
}
from
'element-plus'
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
router
}
from
'@/router/index.js'
;
import
{
router
}
from
"@/router/index.js"
;
const
formInline
=
ref
({
const
formInline
=
ref
({
eventName
:
''
,
eventName
:
""
,
keyword
:
''
,
keyword
:
""
,
warnType
:
''
,
warnType
:
""
,
productionLineId
:
''
,
productionLineId
:
""
,
deviceType
:
''
,
deviceType
:
""
,
createTime
:
[
createTime
:
[
moment
(
new
Date
().
getTime
()
-
1000
*
60
*
60
*
24
*
30
).
format
(
'YYYY-MM-DD HH:mm:ss'
),
moment
(
new
Date
().
getTime
()
-
1000
*
60
*
60
*
24
*
30
).
format
(
moment
(
new
Date
()).
format
(
'YYYY-MM-DD HH:mm:ss'
)
"YYYY-MM-DD HH:mm:ss"
]
),
moment
(
new
Date
()).
format
(
"YYYY-MM-DD HH:mm:ss"
),
],
});
});
const
formModel
=
ref
({
const
formModel
=
ref
({
...
@@ -759,90 +793,90 @@ const formModel = ref({
...
@@ -759,90 +793,90 @@ const formModel = ref({
});
});
const
viewDialog
=
ref
({
const
viewDialog
=
ref
({
title
:
'闭环控制分派'
,
title
:
"闭环控制分派"
,
show
:
false
,
show
:
false
,
width
:
'45%'
,
width
:
"45%"
,
});
});
const
bagDialog
=
ref
({
const
bagDialog
=
ref
({
title
:
'更换布袋'
,
title
:
"更换布袋"
,
show
:
false
,
show
:
false
,
width
:
'30%'
,
width
:
"30%"
,
btnGroup
:
[
btnGroup
:
[
{
{
attrKey
:
'save'
,
attrKey
:
"save"
,
label
:
'保存'
label
:
"保存"
,
}
}
,
]
]
,
});
});
const
bagRow
=
ref
(
''
);
const
bagRow
=
ref
(
""
);
const
bagCol
=
ref
(
''
);
const
bagCol
=
ref
(
""
);
const
rowList
=
ref
([]);
const
rowList
=
ref
([]);
const
colList
=
ref
([]);
const
colList
=
ref
([]);
const
saveBag
=
()
=>
{
const
saveBag
=
()
=>
{
if
(
bagRow
.
value
===
''
)
{
if
(
bagRow
.
value
===
""
)
{
ElMessage
({
ElMessage
({
type
:
'warning'
,
type
:
"warning"
,
message
:
'请选择第几行'
message
:
"请选择第几行"
,
});
});
return
;
return
;
}
}
if
(
bagCol
.
value
===
''
)
{
if
(
bagCol
.
value
===
""
)
{
ElMessage
({
ElMessage
({
type
:
'warning'
,
type
:
"warning"
,
message
:
'请选择第几列'
message
:
"请选择第几列"
,
});
});
return
;
return
;
}
}
const
params
=
{
const
params
=
{
workTicketNo
:
workTicketNo
.
value
,
workTicketNo
:
workTicketNo
.
value
,
row
:
bagRow
.
value
,
row
:
bagRow
.
value
,
column
:
bagCol
.
value
column
:
bagCol
.
value
,
};
};
postDataJSON
(
'/transaction/doc/changeBag'
,
params
).
then
(
res
=>
{
postDataJSON
(
"/transaction/doc/changeBag"
,
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
if
(
res
.
code
===
1
)
{
ElMessage
({
ElMessage
({
type
:
'success'
,
type
:
"success"
,
message
:
'更换布袋成功'
message
:
"更换布袋成功"
,
});
});
bagDialog
.
value
.
show
=
false
;
bagDialog
.
value
.
show
=
false
;
}
}
});
});
}
}
;
const
rowLineMap
=
ref
(
null
);
const
rowLineMap
=
ref
(
null
);
const
getBagRowLine
=
(
no
)
=>
{
const
getBagRowLine
=
(
no
)
=>
{
const
url
=
'/bag/cycle/getCompartEnumList'
;
const
url
=
"/bag/cycle/getCompartEnumList"
;
const
params
=
{
const
params
=
{
deviceNo
:
no
deviceNo
:
no
,
}
}
;
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
.
code
===
1
)
{
if
(
res
.
code
===
1
)
{
rowLineMap
.
value
=
res
.
data
;
rowLineMap
.
value
=
res
.
data
;
res
.
data
.
forEach
(
item
=>
{
res
.
data
.
forEach
((
item
)
=>
{
rowList
.
value
.
push
(
item
.
row
);
rowList
.
value
.
push
(
item
.
row
);
});
});
}
}
})
});
}
}
;
const
getCol
=
()
=>
{
const
getCol
=
()
=>
{
rowLineMap
.
value
.
forEach
(
item
=>
{
rowLineMap
.
value
.
forEach
(
(
item
)
=>
{
if
(
item
.
row
===
bagRow
.
value
)
{
if
(
item
.
row
===
bagRow
.
value
)
{
colList
.
value
=
item
.
columns
;
colList
.
value
=
item
.
columns
;
}
}
});
});
}
}
;
const
viewData
=
{
const
viewData
=
{
D
:
"在线监控(监测)仪器仪表故障"
,
D
:
"在线监控(监测)仪器仪表故障"
,
B
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
B
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
VGD
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
VGD
:
"在线监控(监测)仪器仪表与数采通讯异常"
,
}
}
;
const
warnValueFilter
=
computed
(()
=>
{
const
warnValueFilter
=
computed
(()
=>
{
return
(
offlineTime
)
=>
{
return
(
offlineTime
)
=>
{
if
(
offlineTime
==
null
||
offlineTime
<=
0
)
{
if
(
offlineTime
==
null
||
offlineTime
<=
0
)
{
return
"--"
;
return
"--"
;
}
}
...
@@ -871,28 +905,28 @@ const warnValueFilter = computed(()=> {
...
@@ -871,28 +905,28 @@ const warnValueFilter = computed(()=> {
}
}
return
s
;
return
s
;
}
}
}
}
;
});
});
const
imgUrlList
=
ref
([]);
const
imgUrlList
=
ref
([]);
const
alarmImg
=
ref
([]);
const
alarmImg
=
ref
([]);
const
srcList
=
ref
([]);
const
srcList
=
ref
([]);
const
workTicketNo
=
ref
(
''
);
const
workTicketNo
=
ref
(
""
);
const
rejectType
=
ref
(
''
);
const
rejectType
=
ref
(
""
);
const
reasonList
=
ref
([]);
const
reasonList
=
ref
([]);
const
rejectReason
=
ref
(
''
);
const
rejectReason
=
ref
(
""
);
const
rejectDialog
=
ref
({
const
rejectDialog
=
ref
({
title
:
'驳回申请'
,
title
:
"驳回申请"
,
show
:
false
,
show
:
false
,
width
:
'35%'
,
width
:
"35%"
,
btnGroup
:
[
btnGroup
:
[
{
{
attrKey
:
'save'
,
attrKey
:
"save"
,
label
:
'保存'
label
:
"保存"
,
}
}
,
]
]
,
});
});
const
getIndex
=
(
index
)
=>
{
const
getIndex
=
(
index
)
=>
{
...
@@ -902,47 +936,49 @@ const getIndex = (index) => {
...
@@ -902,47 +936,49 @@ const getIndex = (index) => {
const
basicConfiguration
=
reactive
({
const
basicConfiguration
=
reactive
({
ticketEventName
:
[],
ticketEventName
:
[],
deviceList
:
[],
deviceList
:
[],
productLineList
:
[{
productionLineName
:
'全部'
,
productionLineId
:
''
}],
productLineList
:
[{
productionLineName
:
"全部"
,
productionLineId
:
""
}],
});
});
const
workSheetDetail
=
ref
(
null
);
const
workSheetDetail
=
ref
(
null
);
const
getProDuctLine
=
()
=>
{
const
getProDuctLine
=
()
=>
{
const
url
=
'/transaction/getProductionLine'
;
const
url
=
"/transaction/getProductionLine"
;
getData
(
url
).
then
(
res
=>
{
getData
(
url
).
then
(
(
res
)
=>
{
basicConfiguration
.
productLineList
.
push
(...
res
.
data
);
basicConfiguration
.
productLineList
.
push
(...
res
.
data
);
});
});
}
}
;
const
getColor
=
computed
(()
=>
{
const
getColor
=
computed
(()
=>
{
return
(
level
)
=>
{
return
(
level
)
=>
{
if
(
level
==
2
)
{
if
(
level
==
2
)
{
return
'red'
return
"red"
;
}
else
if
(
level
==
1
)
{
}
else
if
(
level
==
1
)
{
return
'yellow'
return
"yellow"
;
}
else
{
}
else
{
return
'purple'
return
"purple"
;
}
}
}
};
});
});
const
onSearch
=
()
=>
{
const
onSearch
=
()
=>
{
searchData
();
searchData
();
}
}
;
const
onReset
=
()
=>
{
const
onReset
=
()
=>
{
currentPage
.
value
=
1
;
currentPage
.
value
=
1
;
pageSize
.
value
=
20
;
pageSize
.
value
=
20
;
formInline
.
value
.
eventName
=
''
;
formInline
.
value
.
eventName
=
""
;
formInline
.
value
.
keyword
=
''
;
formInline
.
value
.
keyword
=
""
;
formInline
.
value
.
productionLineId
=
''
;
formInline
.
value
.
productionLineId
=
""
;
formInline
.
value
.
deviceType
=
''
;
formInline
.
value
.
deviceType
=
""
;
formInline
.
value
.
createTime
=
[
formInline
.
value
.
createTime
=
[
moment
(
new
Date
().
getTime
()
-
1000
*
60
*
60
*
24
*
30
).
format
(
'YYYY-MM-DD HH:mm:ss'
),
moment
(
new
Date
().
getTime
()
-
1000
*
60
*
60
*
24
*
30
).
format
(
moment
(
new
Date
()).
format
(
'YYYY-MM-DD HH:mm:ss'
)
"YYYY-MM-DD HH:mm:ss"
]
),
moment
(
new
Date
()).
format
(
"YYYY-MM-DD HH:mm:ss"
),
];
searchData
();
searchData
();
}
}
;
const
personTag
=
ref
([]);
const
personTag
=
ref
([]);
const
handleView
=
async
(
data
)
=>
{
const
handleView
=
async
(
data
)
=>
{
viewDialog
.
value
.
title
=
data
.
eventName
;
viewDialog
.
value
.
title
=
data
.
eventName
;
...
@@ -950,21 +986,20 @@ const handleView = async (data) => {
...
@@ -950,21 +986,20 @@ const handleView = async (data) => {
viewDialog
.
value
.
show
=
true
;
viewDialog
.
value
.
show
=
true
;
personTag
.
value
=
[];
personTag
.
value
=
[];
if
(
res
.
handleUsers
&&
res
.
handleUsers
.
length
>
0
)
{
if
(
res
.
handleUsers
&&
res
.
handleUsers
.
length
>
0
)
{
res
.
handleUsers
.
forEach
(
item
=>
{
res
.
handleUsers
.
forEach
(
(
item
)
=>
{
personTag
.
value
.
push
({
personTag
.
value
.
push
({
type
:
'info'
,
type
:
"info"
,
name
:
item
.
userName
,
name
:
item
.
userName
,
userId
:
item
.
userId
,
userId
:
item
.
userId
,
userName
:
item
.
userName
userName
:
item
.
userName
,
});
});
});
});
}
}
disposeWorkSheetDetail
(
res
);
disposeWorkSheetDetail
(
res
);
};
}
const
dialogReason
=
ref
(
""
);
const
dialogReason
=
ref
(
''
);
const
dialogMeasure
=
ref
(
""
);
const
dialogMeasure
=
ref
(
''
);
const
disposeWorkSheetDetail
=
(
obj
)
=>
{
const
disposeWorkSheetDetail
=
(
obj
)
=>
{
const
{
const
{
reason
,
reason
,
measure
,
measure
,
...
@@ -977,8 +1012,8 @@ const disposeWorkSheetDetail = (obj)=> {
...
@@ -977,8 +1012,8 @@ const disposeWorkSheetDetail = (obj)=> {
if
(
forwards
.
length
>
0
)
{
if
(
forwards
.
length
>
0
)
{
let
receiveUserItem
=
forwards
.
slice
(
-
1
)[
0
];
let
receiveUserItem
=
forwards
.
slice
(
-
1
)[
0
];
}
}
dialogMeasure
.
value
=
''
;
dialogMeasure
.
value
=
""
;
dialogMeasure
.
value
=
''
;
dialogMeasure
.
value
=
""
;
srcList
.
value
=
[];
srcList
.
value
=
[];
imgUrlList
.
value
=
[];
imgUrlList
.
value
=
[];
...
@@ -996,140 +1031,143 @@ const disposeWorkSheetDetail = (obj)=> {
...
@@ -996,140 +1031,143 @@ const disposeWorkSheetDetail = (obj)=> {
if
(
imgUrl
)
{
if
(
imgUrl
)
{
imgUrlList
.
value
=
imgUrl
.
split
(
";"
);
imgUrlList
.
value
=
imgUrl
.
split
(
";"
);
}
}
}
}
;
// 拒绝
// 拒绝
const
handleReject
=
(
data
)
=>
{
const
handleReject
=
(
data
)
=>
{
workTicketNo
.
value
=
data
.
workTicketNo
;
workTicketNo
.
value
=
data
.
workTicketNo
;
rejectDialog
.
value
.
show
=
true
;
rejectDialog
.
value
.
show
=
true
;
}
}
;
const
saveReject
=
()
=>
{
const
saveReject
=
()
=>
{
const
url
=
'/transaction/doc/reject'
;
const
url
=
"/transaction/doc/reject"
;
const
params
=
{
const
params
=
{
workTicketNo
:
workTicketNo
.
value
,
workTicketNo
:
workTicketNo
.
value
,
rejectType
:
rejectType
.
value
,
rejectType
:
rejectType
.
value
,
rejectReason
:
rejectReason
.
value
,
rejectReason
:
rejectReason
.
value
,
isDcTom
:
1
isDcTom
:
1
,
}
}
;
postDataJSON
(
url
,
params
).
then
(
res
=>
{
postDataJSON
(
url
,
params
).
then
((
res
)
=>
{
workTicketNo
.
value
=
''
;
workTicketNo
.
value
=
""
;
rejectReason
.
value
=
''
;
rejectReason
.
value
=
""
;
rejectType
.
value
=
''
;
rejectType
.
value
=
""
;
rejectDialog
.
value
.
show
=
false
;
rejectDialog
.
value
.
show
=
false
;
ElMessage
({
ElMessage
({
type
:
'success'
,
type
:
"success"
,
message
:
'操作成功'
message
:
"操作成功"
,
});
});
searchData
();
searchData
();
});
});
}
}
;
const
getDetail
=
(
workTicketNo
)
=>
{
const
getDetail
=
(
workTicketNo
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
url
=
'/transaction/doc/detail'
;
const
url
=
"/transaction/doc/detail"
;
const
params
=
{
const
params
=
{
workTicketNo
workTicketNo
,
}
};
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
)
.
then
((
res
)
=>
{
workSheetDetail
.
value
=
res
.
data
;
workSheetDetail
.
value
=
res
.
data
;
resolve
(
res
.
data
);
resolve
(
res
.
data
);
}).
catch
(
err
=>
{
})
.
catch
((
err
)
=>
{
reject
();
reject
();
});
});
});
});
}
}
;
const
changeBag
=
(
data
)
=>
{
const
changeBag
=
(
data
)
=>
{
workTicketNo
.
value
=
data
.
workTicketNo
;
workTicketNo
.
value
=
data
.
workTicketNo
;
getBagRowLine
(
data
.
deviceNo
);
getBagRowLine
(
data
.
deviceNo
);
bagDialog
.
value
.
show
=
true
;
bagDialog
.
value
.
show
=
true
;
}
}
;
const
tableData
=
ref
([]);
const
tableData
=
ref
([]);
const
tableColumns
=
ref
([
const
tableColumns
=
ref
([
{
{
prop
:
'index'
,
prop
:
"index"
,
label
:
'序号'
,
label
:
"序号"
,
width
:
'6%'
width
:
"6%"
,
},
},
{
{
prop
:
'workTicketNo'
,
prop
:
"workTicketNo"
,
label
:
'编号'
,
label
:
"编号"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'eventName'
,
prop
:
"eventName"
,
label
:
'事件名称'
,
label
:
"事件名称"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'deviceName'
,
prop
:
"deviceName"
,
label
:
'发生位置'
,
label
:
"发生位置"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'deviceNo'
,
prop
:
"deviceNo"
,
label
:
'设备编码'
,
label
:
"设备编码"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'typeName'
,
prop
:
"typeName"
,
label
:
'设备类型'
,
label
:
"设备类型"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'signalName'
,
prop
:
"signalName"
,
label
:
'信号名称'
,
label
:
"信号名称"
,
width
:
'10%'
width
:
"10%"
,
},
},
{
{
prop
:
'productionLine'
,
label
:
'所属工序'
,
width
:
'10%'
},
prop
:
"productionLine"
,
{
prop
:
'warnTypeName'
,
label
:
'类型'
,
width
:
'10%'
},
label
:
"所属工序"
,
{
prop
:
'createTime'
,
label
:
'发生时间'
,
width
:
'10%'
},
width
:
"10%"
,
{
prop
:
'desc'
,
label
:
'闭环状态'
,
width
:
'10%'
},
},
{
prop
:
'handleUser'
,
label
:
'处理人'
,
width
:
'10%'
},
{
prop
:
"warnTypeName"
,
label
:
"类型"
,
width
:
"10%"
},
{
prop
:
'finishTime'
,
label
:
'完成时间'
,
width
:
'10%'
},
{
prop
:
"createTime"
,
label
:
"发生时间"
,
width
:
"10%"
},
{
prop
:
'level'
,
label
:
'级别'
,
width
:
'5%'
},
{
prop
:
"desc"
,
label
:
"闭环状态"
,
width
:
"10%"
},
{
prop
:
"handleUser"
,
label
:
"处理人"
,
width
:
"10%"
},
{
prop
:
"finishTime"
,
label
:
"完成时间"
,
width
:
"10%"
},
{
prop
:
"level"
,
label
:
"级别"
,
width
:
"5%"
},
{
{
prop
:
"operation"
,
prop
:
"operation"
,
label
:
"操作"
,
label
:
"操作"
,
width
:
'15%'
width
:
"15%"
,
},
},
]);
]);
const
customerId
=
getToken
(
"customerId"
);
const
getWarnAndTicketConfigMap
=
()
=>
{
const
customerId
=
getToken
(
'customerId'
);
const
url
=
"/system/getWarnAndTicketConfigMap"
;
const
getWarnAndTicketConfigMap
=
()
=>
{
const
url
=
'/system/getWarnAndTicketConfigMap'
;
const
params
=
{
const
params
=
{
customerId
customerId
,
}
}
;
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
code
===
1
)
{
if
(
res
&&
res
.
code
===
1
)
{
const
{
ticketEventName
}
=
res
.
data
;
const
{
ticketEventName
}
=
res
.
data
;
basicConfiguration
.
ticketEventName
=
basicConfiguration
.
ticketEventName
.
concat
(
ticketEventName
);
basicConfiguration
.
ticketEventName
=
basicConfiguration
.
ticketEventName
.
concat
(
ticketEventName
);
}
}
});
});
};
};
let
realBtn
=
''
;
let
realBtn
=
""
;
const
searchData
=
()
=>
{
const
searchData
=
()
=>
{
currentPage
.
value
=
1
;
currentPage
.
value
=
1
;
pageSize
.
value
=
20
;
pageSize
.
value
=
20
;
getTableData
();
getTableData
();
}
}
;
const
total
=
ref
(
0
);
const
total
=
ref
(
0
);
const
getTableData
=
()
=>
{
const
getTableData
=
()
=>
{
let
keyWord
=
formInline
.
value
.
keyword
;
let
keyWord
=
formInline
.
value
.
keyword
;
const
params
=
{
const
params
=
{
eventName
:
formInline
.
value
.
eventName
,
eventName
:
formInline
.
value
.
eventName
,
...
@@ -1143,21 +1181,21 @@ const getTableData = ()=> {
...
@@ -1143,21 +1181,21 @@ const getTableData = ()=> {
handleState
:
2
,
handleState
:
2
,
belongTo
:
1
,
belongTo
:
1
,
isDcTom
:
1
,
isDcTom
:
1
,
deviceType
:
formInline
.
value
.
deviceType
deviceType
:
formInline
.
value
.
deviceType
,
}
}
;
tableData
.
value
=
[];
tableData
.
value
=
[];
const
url
=
'/transaction/doc/getListParamPage'
;
const
url
=
"/transaction/doc/getListParamPage"
;
getDataFun
(
url
,
params
).
then
(
res
=>
{
getDataFun
(
url
,
params
).
then
((
res
)
=>
{
if
(
res
&&
res
.
code
===
1
)
{
if
(
res
&&
res
.
code
===
1
)
{
const
{
list
}
=
res
.
data
;
const
{
list
}
=
res
.
data
;
total
.
value
=
res
.
data
.
total
;
total
.
value
=
res
.
data
.
total
;
disposeType
(
list
);
disposeType
(
list
);
tableData
.
value
=
list
;
tableData
.
value
=
list
;
tableData
.
value
.
forEach
(
item
=>
{
tableData
.
value
.
forEach
(
(
item
)
=>
{
item
.
handleUser
=
''
;
item
.
handleUser
=
""
;
item
.
handleUsers
.
forEach
((
ele
,
eIndex
)
=>
{
item
.
handleUsers
.
forEach
((
ele
,
eIndex
)
=>
{
if
(
eIndex
>
0
)
{
if
(
eIndex
>
0
)
{
item
.
handleUser
+=
','
+
ele
.
userName
;
item
.
handleUser
+=
","
+
ele
.
userName
;
}
else
{
}
else
{
item
.
handleUser
+=
ele
.
userName
;
item
.
handleUser
+=
ele
.
userName
;
}
}
...
@@ -1165,53 +1203,53 @@ const getTableData = ()=> {
...
@@ -1165,53 +1203,53 @@ const getTableData = ()=> {
});
});
}
}
});
});
}
}
;
const
disposeType
=
(
list
)
=>
{
const
disposeType
=
(
list
)
=>
{
if
(
list
.
length
)
{
if
(
list
.
length
)
{
list
.
forEach
(
l
=>
{
list
.
forEach
(
(
l
)
=>
{
if
(
!
l
.
deviceNo
)
{
if
(
!
l
.
deviceNo
)
{
l
.
deviceNo
=
'--'
;
l
.
deviceNo
=
"--"
;
}
}
switch
(
l
.
warnType
)
{
switch
(
l
.
warnType
)
{
case
0
:
case
0
:
l
.
warnType
=
'人工提交'
l
.
warnType
=
"人工提交"
;
break
break
;
case
1
:
case
1
:
l
.
warnType
=
'超标'
l
.
warnType
=
"超标"
;
break
break
;
case
2
:
case
2
:
l
.
warnType
=
'超低'
l
.
warnType
=
"超低"
;
break
break
;
case
3
:
case
3
:
l
.
warnType
=
'生产治理同步率'
l
.
warnType
=
"生产治理同步率"
;
break
break
;
case
4
:
case
4
:
l
.
warnType
=
'离线'
l
.
warnType
=
"离线"
;
break
break
;
case
5
:
case
5
:
l
.
warnType
=
'其他'
l
.
warnType
=
"其他"
;
break
break
;
case
10
:
case
10
:
l
.
warnType
=
'持续超标'
l
.
warnType
=
"持续超标"
;
break
break
;
case
11
:
case
11
:
l
.
warnType
=
'三倍超标'
l
.
warnType
=
"三倍超标"
;
break
break
;
case
99
:
case
99
:
l
.
warnType
=
'恒值'
l
.
warnType
=
"恒值"
;
break
break
;
}
}
})
})
;
}
}
}
}
;
const
getDeviceType
=
()
=>
{
const
getDeviceType
=
()
=>
{
const
url
=
'/alarm/getDeviceType'
;
const
url
=
"/alarm/getDeviceType"
;
getData
(
url
).
then
(
res
=>
{
getData
(
url
).
then
(
(
res
)
=>
{
basicConfiguration
.
deviceList
=
res
.
data
;
basicConfiguration
.
deviceList
=
res
.
data
;
});
});
}
}
;
onMounted
(()
=>
{
onMounted
(()
=>
{
getProDuctLine
();
getProDuctLine
();
...
@@ -1235,7 +1273,7 @@ const handlePaginationChange = (pagination) => {
...
@@ -1235,7 +1273,7 @@ const handlePaginationChange = (pagination) => {
width
:
100%
;
width
:
100%
;
height
:
calc
(
100%
-
14px
);
height
:
calc
(
100%
-
14px
);
box-sizing
:
border-box
;
box-sizing
:
border-box
;
background
:
#181
D
21
;
background
:
#181
d
21
;
padding
:
20px
;
padding
:
20px
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
@@ -1256,7 +1294,7 @@ const handlePaginationChange = (pagination) => {
...
@@ -1256,7 +1294,7 @@ const handlePaginationChange = (pagination) => {
// color: #faa508;
// color: #faa508;
position
:
relative
;
position
:
relative
;
&
:
:
before
{
&
:
:
before
{
content
:
' '
;
content
:
" "
;
width
:
8px
;
width
:
8px
;
height
:
8px
;
height
:
8px
;
border-radius
:
50%
;
border-radius
:
50%
;
...
@@ -1269,7 +1307,7 @@ const handlePaginationChange = (pagination) => {
...
@@ -1269,7 +1307,7 @@ const handlePaginationChange = (pagination) => {
.red
{
.red
{
position
:
relative
;
position
:
relative
;
&
:
:
before
{
&
:
:
before
{
content
:
' '
;
content
:
" "
;
width
:
8px
;
width
:
8px
;
height
:
8px
;
height
:
8px
;
border-radius
:
50%
;
border-radius
:
50%
;
...
@@ -1283,7 +1321,7 @@ const handlePaginationChange = (pagination) => {
...
@@ -1283,7 +1321,7 @@ const handlePaginationChange = (pagination) => {
.purple
{
.purple
{
position
:
relative
;
position
:
relative
;
&
:
:
before
{
&
:
:
before
{
content
:
' '
;
content
:
" "
;
width
:
8px
;
width
:
8px
;
height
:
8px
;
height
:
8px
;
border-radius
:
50%
;
border-radius
:
50%
;
...
...
src/views/collectorList/collectorList.vue
View file @
41b4f571
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
range-separator=
"~"
range-separator=
"~"
start-placeholder=
"开始时间"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
end-placeholder=
"结束时间"
popper-class=
"date-picker-popper"
:teleported=
"false"
:teleported=
"false"
/>
/>
</el-form-item>
</el-form-item>
...
...
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