Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
saas-manage
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chehuidong
saas-manage
Commits
e9d3d67e
Commit
e9d3d67e
authored
Aug 17, 2023
by
yangzhi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev'
parents
c5a887e2
8a05eddc
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
190 additions
and
103 deletions
+190
-103
src/common/api/axios.js
+16
-6
src/views/taskManage/index.vue
+174
-97
No files found.
src/common/api/axios.js
View file @
e9d3d67e
...
@@ -7,6 +7,7 @@ const axios = Axios.create({
...
@@ -7,6 +7,7 @@ const axios = Axios.create({
baseURL
:
window
.
apiHostSetting
.
VUE_APP_BASE_URL
+
'/api'
,
baseURL
:
window
.
apiHostSetting
.
VUE_APP_BASE_URL
+
'/api'
,
timeout
:
30
*
1000
,
timeout
:
30
*
1000
,
})
})
let
HTTPNUM
=
0
axios
.
interceptors
.
request
.
use
((
config
)
=>
{
axios
.
interceptors
.
request
.
use
((
config
)
=>
{
if
(
config
.
data
&&
typeof
config
.
data
===
'object'
)
{
if
(
config
.
data
&&
typeof
config
.
data
===
'object'
)
{
const
data
=
config
.
data
const
data
=
config
.
data
...
@@ -45,8 +46,9 @@ axios.interceptors.response.use(
...
@@ -45,8 +46,9 @@ axios.interceptors.response.use(
})
})
return
Promise
.
reject
(
res
.
data
)
return
Promise
.
reject
(
res
.
data
)
}
else
if
(
res
.
data
.
code
===
403
)
{
}
else
if
(
res
.
data
.
code
===
403
)
{
console
.
log
(
Vue
)
// token过期
// token过期
if
(
HTTPNUM
===
0
)
{
HTTPNUM
++
Vue
.
prototype
.
$message
({
Vue
.
prototype
.
$message
({
type
:
'error'
,
type
:
'error'
,
message
:
res
.
data
.
message
,
message
:
res
.
data
.
message
,
...
@@ -58,6 +60,7 @@ axios.interceptors.response.use(
...
@@ -58,6 +60,7 @@ axios.interceptors.response.use(
.
catch
((
err
)
=>
{
.
catch
((
err
)
=>
{
console
.
log
(
err
)
console
.
log
(
err
)
})
})
}
return
Promise
.
reject
(
res
.
data
)
return
Promise
.
reject
(
res
.
data
)
}
else
if
(
res
.
data
.
code
===
500
)
{
}
else
if
(
res
.
data
.
code
===
500
)
{
Vue
.
prototype
.
$alert
(
Vue
.
prototype
.
$alert
(
...
@@ -75,23 +78,26 @@ axios.interceptors.response.use(
...
@@ -75,23 +78,26 @@ axios.interceptors.response.use(
if
(
res
.
data
)
{
if
(
res
.
data
)
{
const
fileReader
=
new
FileReader
()
const
fileReader
=
new
FileReader
()
fileReader
.
readAsText
(
res
.
data
)
fileReader
.
readAsText
(
res
.
data
)
fileReader
.
onload
=
function
(
ev
)
{
fileReader
.
onload
=
function
(
ev
)
{
console
.
log
(
ev
.
target
.
result
)
console
.
log
(
ev
.
target
.
result
)
Vue
.
prototype
.
$alert
(
ev
.
target
.
result
,
'提示'
,
{
Vue
.
prototype
.
$alert
(
ev
.
target
.
result
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
callback
:
()
=>
{},
callback
:
()
=>
{
},
})
})
}
}
}
else
{
}
else
{
Vue
.
prototype
.
$alert
(
'请求参数有误'
,
'提示'
,
{
Vue
.
prototype
.
$alert
(
'请求参数有误'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
callback
:
()
=>
{},
callback
:
()
=>
{
},
})
})
}
}
}
else
if
(
res
.
status
===
404
)
{
}
else
if
(
res
.
status
===
404
)
{
Vue
.
prototype
.
$alert
(
'请求不存在'
,
'提示'
,
{
Vue
.
prototype
.
$alert
(
'请求不存在'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
callback
:
()
=>
{},
callback
:
()
=>
{
},
})
})
}
}
}
}
...
@@ -101,11 +107,13 @@ axios.interceptors.response.use(
...
@@ -101,11 +107,13 @@ axios.interceptors.response.use(
(
error
)
=>
{
(
error
)
=>
{
Vue
.
prototype
.
$alert
(
error
.
message
,
'Error'
,
{
Vue
.
prototype
.
$alert
(
error
.
message
,
'Error'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
callback
:
()
=>
{},
callback
:
()
=>
{
},
})
})
return
Promise
.
reject
(
error
)
return
Promise
.
reject
(
error
)
},
},
)
)
export
function
get
(
url
,
params
)
{
export
function
get
(
url
,
params
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
.
get
(
url
,
{
params
})
axios
.
get
(
url
,
{
params
})
...
@@ -121,6 +129,7 @@ export function get(url, params) {
...
@@ -121,6 +129,7 @@ export function get(url, params) {
})
})
})
})
}
}
export
function
post
(
url
,
params
,
headers
)
{
export
function
post
(
url
,
params
,
headers
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
axios
.
post
(
url
,
params
,
headers
)
axios
.
post
(
url
,
params
,
headers
)
...
@@ -136,4 +145,5 @@ export function post(url, params, headers) {
...
@@ -136,4 +145,5 @@ export function post(url, params, headers) {
})
})
})
})
}
}
export
default
axios
export
default
axios
src/views/taskManage/index.vue
View file @
e9d3d67e
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
v-model=
'searchForm.prop'
v-model=
'searchForm.prop'
placeholder=
'请选择'
placeholder=
'请选择'
clearable
clearable
style=
'width:
100
px'
style=
'width:
88
px'
>
>
<el-option
<el-option
label=
'开始时间'
label=
'开始时间'
...
@@ -61,7 +61,7 @@
...
@@ -61,7 +61,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
'工单编号'
>
<el-form-item
label=
'工单编号'
>
<el-input
<el-input
style=
'width: 1
2
0px'
style=
'width: 1
1
0px'
v-model=
'searchForm.orderNo'
v-model=
'searchForm.orderNo'
placeholder=
'请输入'
placeholder=
'请输入'
clearable
clearable
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
'工单标题'
>
<el-form-item
label=
'工单标题'
>
<el-input
<el-input
style=
'width: 1
2
0px'
style=
'width: 1
1
0px'
v-model=
'searchForm.title'
v-model=
'searchForm.title'
placeholder=
'请输入'
placeholder=
'请输入'
clearable
clearable
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
<el-form-item
label=
'工单类型'
>
<el-form-item
label=
'工单类型'
>
<el-select
<el-select
v-model=
'searchForm.orderType'
v-model=
'searchForm.orderType'
style=
'width: 1
2
0px'
style=
'width: 1
1
0px'
value-key=
''
value-key=
''
placeholder=
'请选择'
placeholder=
'请选择'
clearable
clearable
...
@@ -92,27 +92,14 @@
...
@@ -92,27 +92,14 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
'负责人
'
>
<el-form-item
label=
'负责人
/参与人'
v-if=
"!(statusCode=== 'PRE_HANDLING'||statusCode==='TO_BE_ASSIGN')"
>
<el-select
<el-select
style=
'width: 1
2
0px'
style=
'width: 1
5
0px'
placeholder=
'请选择'
placeholder=
'请选择'
clearable
clearable
v-model=
'searchForm.leaders'
multiple
>
collapse-tags
<el-option
v-model=
'searchForm.leaderAndParticipator'
v-for=
'user in userList'
:key=
'user.id'
:label=
'user.realName'
:value=
'user.id'
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
'参与人'
>
<el-select
style=
'width: 120px'
placeholder=
'请选择'
clearable
v-model=
'searchForm.participator'
>
>
<el-option
<el-option
v-for=
'user in userList'
v-for=
'user in userList'
...
@@ -122,9 +109,9 @@
...
@@ -122,9 +109,9 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
'验收人'
>
<el-form-item
label=
'验收人'
v-if=
"!(statusCode=== 'PRE_HANDLING'||statusCode==='TO_BE_ASSIGN')"
>
<el-select
<el-select
style=
'width: 1
2
0px'
style=
'width: 1
1
0px'
placeholder=
'请选择'
placeholder=
'请选择'
clearable
clearable
v-model=
'searchForm.acceptanceUserId'
v-model=
'searchForm.acceptanceUserId'
...
@@ -139,7 +126,7 @@
...
@@ -139,7 +126,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
'优先级'
>
<el-form-item
label=
'优先级'
>
<el-select
<el-select
style=
'width: 1
2
0px'
style=
'width: 1
1
0px'
filterable
filterable
clearable
clearable
v-model=
'searchForm.priorityStatus'
v-model=
'searchForm.priorityStatus'
...
@@ -159,7 +146,7 @@
...
@@ -159,7 +146,7 @@
<el-select
<el-select
v-model=
'searchForm.sign'
v-model=
'searchForm.sign'
placeholder=
'请选择'
placeholder=
'请选择'
style=
'width: 1
2
0px'
style=
'width: 1
1
0px'
clearable
clearable
>
>
<el-option
<el-option
...
@@ -216,10 +203,11 @@
...
@@ -216,10 +203,11 @@
</div>
</div>
<!-- 详情 -->
<!-- 详情 -->
<el-dialog
<el-dialog
title=
'详情'
:close-on-click-modal=
'false'
:close-on-click-modal=
'false'
:visible
.
sync=
'detailVisible'
:visible
.
sync=
'detailVisible'
width=
'1100px'
class=
'dialogDetail'
:class=
"[dialogFullScreen ? 'fullscreen' : 'no_fullscreen']"
:fullscreen=
'dialogFullScreen'
@
close=
'getlist()'
@
close=
'getlist()'
>
>
<!--
<div
class=
"step-bar"
>
<!--
<div
class=
"step-bar"
>
...
@@ -272,6 +260,15 @@
...
@@ -272,6 +260,15 @@
<span>
已归档
</span>
<span>
已归档
</span>
</div>
</div>
</div>
-->
</div>
-->
<template
slot=
'title'
>
<div
class=
'custom_dialog_header'
>
<span
class=
'el_dialog_title'
>
详情
</span>
<div
class=
'custom_dialog_menu'
@
click=
'dialogFullScreen = !dialogFullScreen'
style=
'text-align: right;margin-top: 11px'
>
<i
class=
'el-icon-full-screen'
></i>
</div>
</div>
</
template
>
<div
class=
'content'
v-loading=
'detailLoading'
>
<div
class=
'content'
v-loading=
'detailLoading'
>
<div
class=
'detail_list'
>
<div
class=
'detail_list'
>
<div
class=
'item_wrap'
>
<div
class=
'item_wrap'
>
...
@@ -316,29 +313,19 @@
...
@@ -316,29 +313,19 @@
>
>
<span
class=
'label'
>
工单内容
</span>
<span
class=
'label'
>
工单内容
</span>
<span
<span
style=
"
style=
'flex: 1; display: inline-block;max-width: 84%;'
flex: 1;
class=
'value'
display: inline-block;
@
click
.
stop=
'hanldeImage($event)'
padding: 0 3%;
v-html=
'detail.content'
"
class=
"value"
v-html=
"detail.content"
></span>
</p>
<p
class=
'item'
style=
'width: 100%; display: flex'
>
<span
class=
'label'
>
备注
</span>
<span
style=
"
flex: 1;
display: inline-block;
padding: 0 3%;
"
class=
"value"
v-html=
"detail.remark"
></span>
></span>
<el-image-viewer
v-if=
'imgPreviewUrl'
:initial-index=
'subscript'
:src=
'imgPreviewUrl'
:on-close=
'closeViewer'
:url-list=
'imgList'
style=
'z-index: 3000'
></el-image-viewer>
</p>
</p>
</div>
</div>
<div
<div
...
@@ -348,6 +335,21 @@
...
@@ -348,6 +335,21 @@
></div>
></div>
</div>
</div>
<div
class=
'record'
>
<div
class=
'record'
>
<div
class=
'title'
>
备注
</div>
<ul
class=
'chat_content'
>
<el-input
style=
'width: 95%'
type=
'textarea'
:rows=
'4'
v-model=
'detail.remark'
placeholder=
'备注'
></el-input>
<el-button
type=
'success'
size=
'mini'
@
click=
'saveRemark'
v-if=
'detail.remark'
style=
'margin-left: 8px'
>
保存
</el-button>
</ul>
</div>
<div
class=
'record'
>
<div
class=
'title'
>
沟通记录
</div>
<div
class=
'title'
>
沟通记录
</div>
<ul
<ul
class=
'chat_content'
class=
'chat_content'
...
@@ -723,6 +725,7 @@ import resumetWork from '@/assets/work/resume.png'
...
@@ -723,6 +725,7 @@ import resumetWork from '@/assets/work/resume.png'
import
closetWork
from
'@/assets/work/close.png'
import
closetWork
from
'@/assets/work/close.png'
import
updateWork
from
'@/assets/work/update.png'
import
updateWork
from
'@/assets/work/update.png'
import
anceingWork
from
'@/assets/work/anceing.png'
import
anceingWork
from
'@/assets/work/anceing.png'
import
ElImageViewer
from
'element-ui/packages/image/src/image-viewer'
export
default
{
export
default
{
name
:
'task_center'
,
name
:
'task_center'
,
...
@@ -731,6 +734,7 @@ export default {
...
@@ -731,6 +734,7 @@ export default {
ChooseTimePeriod
,
ChooseTimePeriod
,
tableView
,
tableView
,
Edit
,
Edit
,
ElImageViewer
,
},
},
data
()
{
data
()
{
const
userInfo
=
localStorage
.
getItem
(
'user'
)
const
userInfo
=
localStorage
.
getItem
(
'user'
)
...
@@ -823,6 +827,7 @@ export default {
...
@@ -823,6 +827,7 @@ export default {
commentsVisible
:
false
,
commentsVisible
:
false
,
detail
:
{},
detail
:
{},
detailVisible
:
false
,
detailVisible
:
false
,
dialogFullScreen
:
false
,
taskTypes
:
[],
taskTypes
:
[],
treeData
:
[],
treeData
:
[],
defaultProps
:
{
defaultProps
:
{
...
@@ -862,6 +867,9 @@ export default {
...
@@ -862,6 +867,9 @@ export default {
],
],
pendingVisible
:
false
,
pendingVisible
:
false
,
pendingForm
:
{},
pendingForm
:
{},
imgPreviewUrl
:
''
,
subscript
:
0
,
imgList
:
[],
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -896,11 +904,6 @@ export default {
...
@@ -896,11 +904,6 @@ export default {
),
),
},
},
{
{
label
:
'工单编号'
,
key
:
'orderNo'
,
width
:
110
,
},
{
label
:
'工单模块'
,
label
:
'工单模块'
,
key
:
'moduleName'
,
key
:
'moduleName'
,
width
:
110
,
width
:
110
,
...
@@ -912,14 +915,9 @@ export default {
...
@@ -912,14 +915,9 @@ export default {
width
:
80
,
width
:
80
,
},
},
{
{
label
:
'工单状态'
,
key
:
'orderStatusTxt'
,
width
:
80
,
},
{
label
:
'优先级'
,
label
:
'优先级'
,
key
:
'priorityStatus'
,
key
:
'priorityStatus'
,
width
:
12
0
,
width
:
7
0
,
render
:
item
=>
{
render
:
item
=>
{
if
(
item
.
orderStatus
===
'TO_BE_ASSIGN'
)
{
if
(
item
.
orderStatus
===
'TO_BE_ASSIGN'
)
{
item
.
priorityStatus
=
item
.
priorityStatus
item
.
priorityStatus
=
item
.
priorityStatus
...
@@ -963,8 +961,8 @@ export default {
...
@@ -963,8 +961,8 @@ export default {
},
},
},
},
{
{
label
:
'
来源
'
,
label
:
'
备注
'
,
key
:
'
fromBusiness
'
,
key
:
'
remark
'
,
width
:
80
,
width
:
80
,
},
},
{
{
...
@@ -975,21 +973,25 @@ export default {
...
@@ -975,21 +973,25 @@ export default {
{
{
label
:
'负责人'
,
label
:
'负责人'
,
key
:
'leaderNames'
,
key
:
'leaderNames'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
),
width
:
80
,
width
:
80
,
},
},
{
{
label
:
'参与人'
,
label
:
'参与人'
,
key
:
'participatorName'
,
key
:
'participatorName'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
),
width
:
80
,
width
:
80
,
},
},
{
{
label
:
'验收人'
,
label
:
'验收人'
,
key
:
'acceptanceUserName'
,
key
:
'acceptanceUserName'
,
show
:
this
.
statusCode
===
'ACCEPTANCEING'
,
width
:
80
,
width
:
80
,
},
},
{
{
label
:
'验收意见'
,
label
:
'验收意见'
,
key
:
'acceptanceContent'
,
key
:
'acceptanceContent'
,
show
:
this
.
statusCode
===
'ACCEPTANCEING'
,
width
:
80
,
width
:
80
,
},
},
{
{
...
@@ -1001,6 +1003,7 @@ export default {
...
@@ -1001,6 +1003,7 @@ export default {
{
{
label
:
'开始时间'
,
label
:
'开始时间'
,
key
:
'startTime'
,
key
:
'startTime'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
),
width
:
130
,
width
:
130
,
},
},
{
{
...
@@ -1011,21 +1014,25 @@ export default {
...
@@ -1011,21 +1014,25 @@ export default {
{
{
label
:
'预计完成时间'
,
label
:
'预计完成时间'
,
key
:
'estimateCompleteTime'
,
key
:
'estimateCompleteTime'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
),
width
:
130
,
width
:
130
,
},
},
{
{
label
:
'验收时间'
,
label
:
'验收时间'
,
key
:
'acceptanceTime'
,
key
:
'acceptanceTime'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
),
width
:
130
,
width
:
130
,
},
},
{
{
label
:
'完成时间'
,
label
:
'完成时间'
,
key
:
'completeTime'
,
key
:
'completeTime'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
),
width
:
130
,
width
:
130
,
},
},
{
{
label
:
'用户评价'
,
label
:
'用户评价'
,
key
:
'evaluations'
,
key
:
'evaluations'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
),
width
:
140
,
width
:
140
,
},
},
{
{
...
@@ -1034,24 +1041,39 @@ export default {
...
@@ -1034,24 +1041,39 @@ export default {
width
:
130
,
width
:
130
,
},
},
{
{
label
:
'验收人'
,
key
:
'acceptanceUserName'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
||
this
.
statusCode
===
'ACCEPTANCEING'
),
width
:
80
,
},
{
label
:
'验收意见'
,
show
:
!
(
this
.
statusCode
===
'PRE_HANDLING'
||
this
.
statusCode
===
'TO_BE_ASSIGN'
||
this
.
statusCode
===
'ACCEPTANCEING'
),
key
:
'acceptanceContent'
,
width
:
80
,
},
{
label
:
'工单编号'
,
key
:
'orderNo'
,
width
:
110
,
},
{
label
:
'工单状态'
,
key
:
'orderStatusTxt'
,
width
:
80
,
},
{
label
:
'来源'
,
key
:
'fromBusiness'
,
width
:
80
,
},
{
label
:
'操作'
,
label
:
'操作'
,
fixed
:
'right'
,
fixed
:
'right'
,
width
:
120
,
width
:
120
,
align
:
'center'
,
align
:
'center'
,
render
:
(
item
)
=>
(
render
:
(
item
)
=>
(
<
span
>
<
span
>
{(
item
.
orderStatus
===
'PRE_HANDLING'
||
item
.
orderStatus
===
'TO_BE_ASSIGN'
||
item
.
orderStatus
===
'TO_BE_CONFIRMED'
)
&&
(
<
span
title
=
'修改'
class
=
'icon-view'
>
<
img
width
=
'24'
height
=
'24'
src
=
{
updateWork
}
onClick
=
{()
=>
this
.
update
(
item
)}
/
>
<
/span
>
)}
{
{
<
span
<
span
title
=
'详情'
title
=
'详情'
...
@@ -1063,6 +1085,16 @@ export default {
...
@@ -1063,6 +1085,16 @@ export default {
><
/i
>
><
/i
>
<
/span
>
<
/span
>
}
}
{(
item
.
orderStatus
===
'PRE_HANDLING'
)
&&
(
<
span
title
=
'修改'
class
=
'icon-view'
>
<
img
width
=
'24'
height
=
'24'
src
=
{
updateWork
}
onClick
=
{()
=>
this
.
update
(
item
)}
/
>
<
/span
>
)}
{
item
.
orderStatus
===
'TO_BE_ASSIGN'
&&
(
{
item
.
orderStatus
===
'TO_BE_ASSIGN'
&&
(
<
span
title
=
'指派给'
class
=
'icon-view'
>
<
span
title
=
'指派给'
class
=
'icon-view'
>
<
img
<
img
...
@@ -1245,43 +1277,44 @@ export default {
...
@@ -1245,43 +1277,44 @@ export default {
cellClassName
({
cellClassName
({
row
,
row
,
columnIndex
,
columnIndex
,
column
,
})
{
})
{
if
(
if
(
(
row
.
orderStatus
===
'TO_BE_ASSIGN'
||
(
row
.
orderStatus
===
'TO_BE_ASSIGN'
||
row
.
orderStatus
===
'TO_BE_CONFIRMED'
||
row
.
orderStatus
===
'TO_BE_CONFIRMED'
||
row
.
orderStatus
===
'IN_PROGRESS'
)
&&
row
.
orderStatus
===
'IN_PROGRESS'
)
&&
column
Index
===
4
column
.
field
===
'orderTypeTxt'
)
{
)
{
return
'order-blue'
return
'order-blue'
}
}
if
(
if
(
row
.
orderStatus
===
'PRE_HANDLING'
&&
row
.
orderStatus
===
'PRE_HANDLING'
&&
column
Index
===
4
&&
column
.
field
===
'orderTypeTxt'
&&
row
.
sign
===
1
row
.
sign
===
1
)
{
)
{
return
'order-red'
return
'order-red'
}
}
if
(
if
(
row
.
orderStatus
===
'PRE_HANDLING'
&&
row
.
orderStatus
===
'PRE_HANDLING'
&&
column
Index
===
4
&&
column
.
field
===
'orderTypeTxt'
&&
row
.
sign
===
0
row
.
sign
===
0
)
{
)
{
return
'order-green'
return
'order-green'
}
}
if
(
column
Index
===
4
)
{
if
(
column
.
field
===
'orderTypeTxt'
)
{
return
'order-grey'
return
'order-grey'
}
}
},
},
cellStyle
({
cellStyle
({
row
,
row
,
column
Index
,
column
,
})
{
})
{
if
(
if
(
(
row
.
orderStatus
===
'PRE_HANDLING'
||
(
row
.
orderStatus
===
'PRE_HANDLING'
||
row
.
orderStatus
===
'TO_BE_ASSIGN'
||
row
.
orderStatus
===
'TO_BE_ASSIGN'
||
row
.
orderStatus
===
'TO_BE_CONFIRMED'
||
row
.
orderStatus
===
'TO_BE_CONFIRMED'
||
row
.
orderStatus
===
'IN_PROGRESS'
)
&&
row
.
orderStatus
===
'IN_PROGRESS'
)
&&
column
Index
===
15
column
.
field
===
'expectCompleteTime'
)
{
)
{
if
(
row
.
columnRenderColor
)
{
if
(
row
.
columnRenderColor
)
{
return
{
return
{
...
@@ -1461,24 +1494,14 @@ export default {
...
@@ -1461,24 +1494,14 @@ export default {
if
(
data
.
statusCode
===
'IN_PROGRESS'
)
{
if
(
data
.
statusCode
===
'IN_PROGRESS'
)
{
this
.
$set
(
this
.
$set
(
this
.
searchForm
,
this
.
searchForm
,
'leaders'
,
'leaderAndParticipator'
,
this
.
userInfo
.
id
,
[
this
.
userInfo
.
id
],
)
this
.
$set
(
this
.
searchForm
,
'participator'
,
this
.
userInfo
.
id
,
)
)
}
else
{
}
else
{
this
.
$set
(
this
.
$set
(
this
.
searchForm
,
this
.
searchForm
,
'leaders'
,
'leaderAndParticipator'
,
''
,
[],
)
this
.
$set
(
this
.
searchForm
,
'participator'
,
''
,
)
)
}
}
this
.
statusCode
=
data
.
statusCode
this
.
statusCode
=
data
.
statusCode
...
@@ -1496,6 +1519,7 @@ export default {
...
@@ -1496,6 +1519,7 @@ export default {
startTime
:
this
.
periodTime
&&
this
.
periodTime
[
0
],
startTime
:
this
.
periodTime
&&
this
.
periodTime
[
0
],
endTime
:
this
.
periodTime
&&
this
.
periodTime
[
1
],
endTime
:
this
.
periodTime
&&
this
.
periodTime
[
1
],
...
this
.
searchForm
,
...
this
.
searchForm
,
leaderAndParticipator
:
this
.
searchForm
.
leaderAndParticipator
?
this
.
searchForm
.
leaderAndParticipator
.
join
(
','
)
:
''
,
})
})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
code
!==
200
)
return
if
(
res
.
code
!==
200
)
return
...
@@ -1652,12 +1676,46 @@ export default {
...
@@ -1652,12 +1676,46 @@ export default {
this
.
detailLoading
=
false
this
.
detailLoading
=
false
}
}
},
},
getimgsrc
(
htmlstr
)
{
const
reg
=
/<img.+
?
src=
(
'|"
)?([^
'"
]
+
)(
'|"
)?(?:\s
+|>
)
/g
const
arr
=
[]
let
tem
=
0
while
((
tem
=
reg
.
exec
(
htmlstr
)))
{
arr
.
push
(
tem
[
2
])
// eslint-disable-line
}
return
arr
},
closeViewer
()
{
this
.
imgPreviewUrl
=
''
document
.
documentElement
.
style
.
overflowY
=
'auto'
},
hanldeImage
(
event
)
{
if
(
event
.
target
.
nodeName
===
'IMG'
||
event
.
target
.
nodeName
===
'img'
)
{
this
.
imgPreviewUrl
=
decodeURIComponent
(
event
.
target
.
currentSrc
)
const
subscript
=
this
.
imgList
.
indexOf
(
this
.
imgPreviewUrl
)
this
.
subscript
=
subscript
>
-
1
?
subscript
:
0
document
.
documentElement
.
style
.
overflowY
=
'hidden'
}
},
saveRemark
()
{
axios
.
post
(
'platform/platformWorkOrder/updateRemark'
,
{
id
:
this
.
currentRowId
,
remark
:
this
.
detail
.
remark
,
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
'保存成功'
)
}
})
},
async
showDetail
(
item
)
{
async
showDetail
(
item
)
{
this
.
currentRowId
=
item
.
id
this
.
currentRowId
=
item
.
id
await
axios
.
get
(
`platform/platformWorkOrder/get?id=
${
item
.
id
}
`
,
await
axios
.
get
(
`platform/platformWorkOrder/get?id=
${
item
.
id
}
`
,
).
then
(
res
=>
{
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
detail
=
res
.
data
this
.
detail
=
res
.
data
this
.
imgList
=
Object
.
values
(
this
.
getimgsrc
(
this
.
detail
.
content
))
const
subscript
=
this
.
imgList
.
indexOf
(
this
.
imgPreviewUrl
)
this
.
subscript
=
subscript
>
-
1
?
subscript
:
0
}
else
{
}
else
{
this
.
detailLoading
=
false
this
.
detailLoading
=
false
}
}
...
@@ -1676,7 +1734,8 @@ export default {
...
@@ -1676,7 +1734,8 @@ export default {
this
.
detailVisible
=
true
this
.
detailVisible
=
true
this
.
textarea
=
''
this
.
textarea
=
''
},
},
},
}
,
}
}
</
script
>
</
script
>
<
style
lang=
'scss'
scoped
>
<
style
lang=
'scss'
scoped
>
...
@@ -1782,7 +1841,7 @@ export default {
...
@@ -1782,7 +1841,7 @@ export default {
}
}
.content
{
.content
{
max-height
:
6
8
vh
;
max-height
:
6
1
vh
;
overflow
:
auto
;
overflow
:
auto
;
}
}
...
@@ -1808,6 +1867,10 @@ export default {
...
@@ -1808,6 +1867,10 @@ export default {
.detail_list
.item
.value
{
.detail_list
.item
.value
{
color
:
#222
;
color
:
#222
;
&::v-deep
img
{
width
:
100%
;
}
}
}
.item_wrap
{
.item_wrap
{
...
@@ -1983,6 +2046,20 @@ export default {
...
@@ -1983,6 +2046,20 @@ export default {
padding
:
20px
0
;
padding
:
20px
0
;
}
}
.dialogDetail
{
&::v-deep
.el-dialog
{
margin-top
:
9vh
!important
;
}
}
.fullscreen
{
width
:
100%
;
}
.no_fullscreen
{
//
width
:
1300px
;
}
.detail_list
{
.detail_list
{
&::v-deep
{
&::v-deep
{
table
{
table
{
...
...
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