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
b05a3a34
Commit
b05a3a34
authored
Aug 07, 2023
by
yangzhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:1
parent
c6837103
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
446 additions
and
386 deletions
+446
-386
src/views/taskManage/index.vue
+446
-386
No files found.
src/views/taskManage/index.vue
View file @
b05a3a34
...
...
@@ -6,219 +6,220 @@
* @LastEditTime: 2020-11-18 09:25:23
-->
<
template
>
<div
class=
"wraper"
>
<div
class=
"page_left"
>
<div
class=
'wraper'
>
<div
class=
'page_left'
>
<el-tree
:data=
"treeData"
:props=
"defaultProps"
ref=
"tree"
:data=
'treeData'
:props=
'defaultProps'
ref=
'tree'
highlight-current
:node-key=
"'statusCode'"
:expand-on-click-node=
"false"
:expand-on-click-node=
'false'
default-expand-all
@
node-click=
"handleNodeClick"
@
node-click=
'handleNodeClick'
>
<span
class=
"custom-tree-node"
slot-scope=
"
{ node, data }"
class=
'custom-tree-node'
slot-scope=
'
{ node, data }'
>
<span
v-html=
"node.label"
></span>
<span
v-html=
'node.label'
></span>
<span>
(
{{
data
.
quantity
}}
)
</span>
</span>
</el-tree>
</div>
<div
class=
"page_right"
>
<div
class=
'page_right'
>
<el-form
v-show=
"is_tab == 1"
:model=
"searchForm"
size=
"mini"
v-enter-submit=
"getlist"
:inline=
"true"
ref=
"form"
class=
"search_form"
v-show=
'is_tab == 1'
:model=
'searchForm'
size=
'mini'
v-enter-submit=
'getlist'
:inline=
'true'
ref=
'form'
class=
'search_form'
>
<el-form-item>
<el-select
v-model=
"searchForm.prop"
placeholder=
"请选择"
v-model=
'searchForm.prop'
placeholder=
'请选择'
clearable
style=
"width: 100px"
style=
'width: 100px'
>
<el-option
label=
"开始时间"
value=
"startTime"
label=
'开始时间'
value=
'startTime'
></el-option>
<el-option
label=
"创建时间"
value=
"createTime"
label=
'创建时间'
value=
'createTime'
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<choose-time-period
v-model=
"periodTime"
v-model=
'periodTime'
></choose-time-period>
</el-form-item>
<el-form-item
label=
"工单编号"
>
<el-form-item
label=
'工单编号'
>
<el-input
style=
"width: 120px"
v-model=
"searchForm.orderNo"
placeholder=
"请输入"
style=
'width: 120px'
v-model=
'searchForm.orderNo'
placeholder=
'请输入'
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"工单标题"
>
<el-form-item
label=
'工单标题'
>
<el-input
style=
"width: 120px"
v-model=
"searchForm.title"
placeholder=
"请输入"
style=
'width: 120px'
v-model=
'searchForm.title'
placeholder=
'请输入'
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"工单类型"
>
<el-form-item
label=
'工单类型'
>
<el-select
v-model=
"searchForm.orderType"
style=
"width: 120px"
value-key=
""
placeholder=
"请选择"
v-model=
'searchForm.orderType'
style=
'width: 120px'
value-key=
''
placeholder=
'请选择'
clearable
filterable
>
<el-option
v-for=
"(type, index) in orderTypes"
:key=
"index"
:label=
"type.value"
:value=
"type.key"
v-for=
'(type, index) in orderTypes'
:key=
'index'
:label=
'type.value'
:value=
'type.key'
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"负责人"
>
<el-form-item
label=
'负责人'
>
<el-select
style=
"width: 120px"
placeholder=
"请选择"
style=
'width: 120px'
placeholder=
'请选择'
clearable
v-model=
"searchForm.leaders"
v-model=
'searchForm.leaders'
>
<el-option
v-for=
"user in userList"
:key=
"user.id"
:label=
"user.realName"
:value=
"user.id"
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-form-item
label=
'参与人'
>
<el-select
style=
"width: 120px"
placeholder=
"请选择"
style=
'width: 120px'
placeholder=
'请选择'
clearable
v-model=
"searchForm.participator"
v-model=
'searchForm.participator'
>
<el-option
v-for=
"user in userList"
:key=
"user.id"
:label=
"user.realName"
:value=
"user.id"
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-form-item
label=
'验收人'
>
<el-select
style=
"width: 120px"
placeholder=
"请选择"
style=
'width: 120px'
placeholder=
'请选择'
clearable
v-model=
"searchForm.acceptanceUserId"
v-model=
'searchForm.acceptanceUserId'
>
<el-option
v-for=
"user in userList"
:key=
"user.id"
:label=
"user.realName"
:value=
"user.id"
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-form-item
label=
'优先级'
>
<el-select
style=
"width: 120px"
style=
'width: 120px'
filterable
clearable
v-model=
"searchForm.priorityStatus"
placeholder=
"请选择"
v-model=
'searchForm.priorityStatus'
placeholder=
'请选择'
>
<el-option
v-for=
"
(priorityStatus,
index) in priorityStatusList
"
:key=
"index"
:value=
"priorityStatus.value"
:label=
"priorityStatus.name"
v-for=
'
(priorityStatus,
index) in priorityStatusList
'
:key=
'index'
:value=
'priorityStatus.value'
:label=
'priorityStatus.name'
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"沟通状态"
>
<el-form-item
label=
'沟通状态'
>
<el-select
v-model=
"searchForm.sign"
placeholder=
"请选择"
style=
"width: 120px"
v-model=
'searchForm.sign'
placeholder=
'请选择'
style=
'width: 120px'
clearable
>
<el-option
label=
"待回复"
:value=
"1"
label=
'待回复'
:value=
'1'
></el-option>
<el-option
label=
"已回复"
:value=
"0"
label=
'已回复'
:value=
'0'
></el-option>
</el-select>
</el-form-item>
<el-form-item
label
>
<el-button
@
click=
"getlist()"
type=
"primary"
size=
"mini"
@
click=
'getlist()'
type=
'primary'
size=
'mini'
>
查询
</el-button>
</el-form-item>
<el-form-item
v-if=
"statusCode === 'PRE_HANDLING'"
>
<el-button
type=
"success"
size=
"mini"
@
click=
"addData"
>
新增
</el-button
type=
'success'
size=
'mini'
@
click=
'addData'
>
新增
</el-button
>
</el-form-item>
</el-form>
<div
class=
"table-wrap"
v-loading=
"loading"
>
<div
class=
'table-wrap'
v-loading=
'loading'
>
<table-view
:tableColumns=
"tableColumns"
:sourceData=
"sourceData"
:cellClassName=
"cellClassName"
:cellStyle=
"cellStyle"
@
sortChange=
"sortChange"
:tableColumns=
'tableColumns'
:sourceData=
'sourceData'
:cellClassName=
'cellClassName'
:cellStyle=
'cellStyle'
@
sortChange=
'sortChange'
>
</table-view>
</div>
<div
class=
"pagination"
>
<div
class=
'pagination'
>
<el-pagination
layout=
"sizes, total, prev, pager, next, jumper"
layout=
'sizes, total, prev, pager, next, jumper'
background
:total=
"centerPageOptions.total"
:page-size=
"centerPageOptions.pageSize"
:current-page=
"centerPageOptions.currentPage"
@
size-change=
"sizeChange"
@
current-change=
"onCurrentChange"
:total=
'centerPageOptions.total'
:page-size=
'centerPageOptions.pageSize'
:current-page=
'centerPageOptions.currentPage'
@
size-change=
'sizeChange'
@
current-change=
'onCurrentChange'
>
</el-pagination>
</div>
</div>
<!-- 详情 -->
<el-dialog
title=
"详情"
:close-on-click-modal=
"false"
:visible
.
sync=
"detailVisible"
width=
"1100px"
@
close=
"getlist()"
title=
'详情'
:close-on-click-modal=
'false'
:visible
.
sync=
'detailVisible'
width=
'1100px'
@
close=
'getlist()'
>
<!--
<div
class=
"step-bar"
>
step-pass 已经完成,step-active当前步骤
...
...
@@ -270,37 +271,37 @@
<span>
已归档
</span>
</div>
</div>
-->
<div
class=
"content"
v-loading=
"detailLoading"
>
<div
class=
"detail_list"
>
<div
class=
"item_wrap"
>
<p
class=
"item"
style=
"width: 100%"
>
<span
class=
"label"
>
工单标题
</span>
<span
class=
"value"
style=
"width: 732px"
>
{{
detail
.
title
}}
</span>
<div
class=
'content'
v-loading=
'detailLoading'
>
<div
class=
'detail_list'
>
<div
class=
'item_wrap'
>
<p
class=
'item'
style=
'width: 100%'
>
<span
class=
'label'
>
工单标题
</span>
<span
class=
'value'
style=
'width: 732px'
>
{{
detail
.
title
}}
</span>
</p>
<p
class=
"item"
>
<span
class=
"label"
>
工单编码
</span>
<span
class=
"value"
>
{{
detail
.
orderNo
}}
</span>
<p
class=
'item'
>
<span
class=
'label'
>
工单编码
</span>
<span
class=
'value'
>
{{
detail
.
orderNo
}}
</span>
</p>
<p
class=
"item"
>
<span
class=
"label"
>
工单类型
</span>
<span
class=
"value"
>
<p
class=
'item'
>
<span
class=
'label'
>
工单类型
</span>
<span
class=
'value'
>
{{
detail
.
orderTypeTxt
}}
</span>
</p>
<p
class=
"item"
>
<span
class=
"label"
>
工单状态
</span>
<span
class=
"value"
>
<p
class=
'item'
>
<span
class=
'label'
>
工单状态
</span>
<span
class=
'value'
>
{{
detail
.
orderStatusTxt
}}
</span>
</p>
<p
class=
"item"
>
<span
class=
"label"
>
优先级
</span>
<span
class=
"value"
>
<p
class=
'item'
>
<span
class=
'label'
>
优先级
</span>
<span
class=
'value'
>
{{
handlePriorityStatus
(
detail
.
priorityStatus
,
...
...
@@ -309,75 +310,75 @@
</span>
</p>
<p
class=
"item"
style=
"width: 100%; display: flex"
class=
'item'
style=
'width: 100%; display: flex'
>
<span
class=
"label"
>
工单内容
</span>
<span
class=
'label'
>
工单内容
</span>
<span
style=
"flex: 1; display: inline-block;padding:0 3%"
class=
"value"
v-html=
"detail.content"
style=
'flex: 1; display: inline-block;padding:0 3%'
class=
'value'
v-html=
'detail.content'
></span>
</p>
<p
class=
"item"
style=
"width: 100%; display: flex"
class=
'item'
style=
'width: 100%; display: flex'
>
<span
class=
"label"
>
备注
</span>
<span
class=
'label'
>
备注
</span>
<span
style=
"flex: 1; display: inline-block;padding:0 3%"
class=
"value"
v-html=
"detail.remark"
style=
'flex: 1; display: inline-block;padding:0 3%'
class=
'value'
v-html=
'detail.remark'
></span>
</p>
</div>
<div
style=
"padding: 5px; overflow: auto"
v-html=
"detail.taskContent"
@
click=
"fullScreenDisplay"
style=
'padding: 5px; overflow: auto'
v-html=
'detail.taskContent'
@
click=
'fullScreenDisplay'
></div>
</div>
<div
class=
"record"
>
<div
class=
"title"
>
沟通记录
</div>
<div
class=
'record'
>
<div
class=
'title'
>
沟通记录
</div>
<ul
class=
"chat_content"
v-if=
"chatRecord.length > 0"
class=
'chat_content'
v-if=
'chatRecord.length > 0'
>
<li
v-for=
"(item, index) in chatRecord"
:key=
"index"
class=
"chat_item"
:class=
"
{ chat_right: item.type === 2 }"
v-for=
'(item, index) in chatRecord'
:key=
'index'
class=
'chat_item'
:class=
'
{ chat_right: item.type === 2 }'
>
<div
class=
"chat_warp"
v-if=
"item.type === 2"
>
<div
class=
"chat_user"
>
<div
class=
"chat_user_time"
>
<div
class=
'chat_warp'
v-if=
'item.type === 2'
>
<div
class=
'chat_user'
>
<div
class=
'chat_user_time'
>
{{
item
.
createTime
}}
客服
</div>
<div
class=
"chat_text"
>
<div
class=
'chat_text'
>
{{
item
.
msg
}}
</div>
</div>
<div
class=
"chat_icon"
>
<div
class=
'chat_icon'
>
<img
width=
"100%"
src=
"http://img.alicdn.com/tfs/TB14feR0AL0gK0jSZFAXXcA9pXa-64-64.png"
alt=
""
width=
'100%'
src=
'http://img.alicdn.com/tfs/TB14feR0AL0gK0jSZFAXXcA9pXa-64-64.png'
alt=
''
/>
</div>
</div>
<div
v-else
class=
"chat_warp"
>
<div
class=
"chat_icon"
>
<div
v-else
class=
'chat_warp'
>
<div
class=
'chat_icon'
>
<img
width=
"100%"
src=
"http://img.alicdn.com/tfs/TB14feR0AL0gK0jSZFAXXcA9pXa-64-64.png"
alt=
""
width=
'100%'
src=
'http://img.alicdn.com/tfs/TB14feR0AL0gK0jSZFAXXcA9pXa-64-64.png'
alt=
''
/>
</div>
<div
class=
"chat_user"
>
<div
class=
"chat_user_time"
>
<div
class=
'chat_user'
>
<div
class=
'chat_user_time'
>
{{
item
.
sendUserName
}}
:
{{
...
...
@@ -385,206 +386,210 @@
}}
</div>
<div
class=
"chat_text"
>
<div
class=
'chat_text'
>
{{
item
.
msg
}}
</div>
</div>
</div>
</li>
</ul>
<div
class=
"empty-data"
v-else
>
暂无数据
</div>
<div
class=
'empty-data'
v-else
>
暂无数据
</div>
</div>
</div>
<div
style=
"margin-top: 10px"
>
<div
style=
'margin-top: 10px'
>
<div>
<el-input
type=
"textarea"
:rows=
"4"
maxlength=
"1000"
placeholder=
"请输入内容"
v-model=
"textarea"
type=
'textarea'
:rows=
'4'
maxlength=
'1000'
placeholder=
'请输入内容'
v-model=
'textarea'
>
</el-input>
</div>
<div
style=
"margin-top: 10px; text-align: right"
>
<div
style=
'margin-top: 10px; text-align: right'
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"reply"
>
回复
</el-button
size=
'mini'
type=
'primary'
@
click=
'reply'
>
回复
</el-button
>
<el-button
size=
"mini"
type=
"success"
size=
'mini'
type=
'success'
v-if=
"statusCode === 'PRE_HANDLING'"
@
click=
"confirm"
>
受理
</el-button
@
click=
'confirm'
>
受理
</el-button
>
<el-button
size=
"mini"
type=
"danger"
size=
'mini'
type=
'danger'
v-if=
"statusCode === 'PRE_HANDLING'"
@
click=
"closeForPendingDialog"
>
不受理
</el-button
@
click=
'closeForPendingDialog'
>
不受理
</el-button
>
</div>
</div>
</el-dialog>
<edit
:editDialog
.
sync=
"editDialog"
@
onSubmit=
"onSubmit"
@
onChangeModule=
"onChangeModule"
:editForm=
"editForm"
:orderTypes=
"orderTypes"
:isEdit=
"isEdit"
:editFlag=
"editFlag"
ref=
"edit"
:editDialog
.
sync=
'editDialog'
@
onSubmit=
'onSubmit'
@
onChangeModule=
'onChangeModule'
:editForm=
'editForm'
:orderTypes=
'orderTypes'
:isEdit=
'isEdit'
:editFlag=
'editFlag'
ref=
'edit'
></edit>
<!-- 指派 -->
<el-dialog
title=
"指派给"
:close-on-click-modal=
"false"
:visible
.
sync=
"assignVisible"
width=
"900px"
title=
'指派给'
:close-on-click-modal=
'false'
:visible
.
sync=
'assignVisible'
width=
'900px'
>
<el-form
:inline=
"true"
size=
"mini"
:model=
"assignForm"
ref=
"assignForm"
:rules=
"assignFormRules"
label-width=
"130px"
:inline=
'true'
size=
'mini'
:model=
'assignForm'
ref=
'assignForm'
:rules=
'assignFormRules'
label-width=
'130px'
>
<el-form-item
label=
"负责人"
prop=
"leaders"
>
<el-form-item
label=
'负责人'
prop=
'leaders'
>
<el-select
style=
"width: 100%"
size=
"small"
v-model=
"assignForm.leaders"
style=
'width: 100%'
size=
'small'
v-model=
'assignForm.leaders'
>
<el-option
v-for=
"user in userList"
:key=
"user.id"
:label=
"user.realName"
:value=
"user.id"
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=
"参与人"
prop=
"participator"
>
<el-form-item
label=
'参与人'
prop=
'participator'
>
<el-select
style=
"width: 100%"
size=
"small"
v-model=
"assignForm.participator"
style=
'width: 100%'
size=
'small'
v-model=
'assignForm.participator'
multiple
>
<el-option
v-for=
"user in userList"
:key=
"user.id"
:label=
"user.realName"
:value=
"user.id"
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=
"验收人"
prop=
"acceptanceUserId"
label=
'验收人'
prop=
'acceptanceUserId'
>
<el-select
style=
"width: 100%"
size=
"small"
v-model=
"assignForm.acceptanceUserId"
style=
'width: 100%'
size=
'small'
v-model=
'assignForm.acceptanceUserId'
>
<el-option
v-for=
"user in userList"
:key=
"user.id"
:label=
"user.realName"
:value=
"user.id"
v-for=
'user in userList'
:key=
'user.id'
:label=
'user.realName'
:value=
'user.id'
></el-option>
</el-select>
</el-form-item>
</el-form>
<span
slot=
"footer"
>
<span
slot=
'footer'
>
<el-button
size=
"mini"
@
click=
"assignVisible = false"
>
取消
</el-button
size=
'mini'
@
click=
'assignVisible = false'
>
取消
</el-button
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"submitAssign"
>
确定
</el-button
size=
'mini'
type=
'primary'
@
click=
'submitAssign'
>
确定
</el-button
>
</span>
</el-dialog>
<el-dialog
title=
"预计完成时间"
:visible
.
sync=
"completeVisible"
width=
"500px"
:close-on-click-modal=
"false"
title=
'预计完成时间'
:visible
.
sync=
'completeVisible'
width=
'500px'
:close-on-click-modal=
'false'
>
<el-form
size=
"mini"
>
<el-form-item
label=
"预计完成时间"
>
<el-form
size=
'mini'
>
<el-form-item
label=
'预计完成时间'
>
<el-date-picker
style=
"width: 100%"
v-model=
"estimateCompleteTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
default-time=
"23:59:59"
placeholder=
"选择日期"
:picker-options=
"pickerOptions"
style=
'width: 100%'
v-model=
'estimateCompleteTime'
value-format=
'yyyy-MM-dd HH:mm:ss'
type=
'datetime'
default-time=
'23:59:59'
placeholder=
'选择日期'
:picker-options=
'pickerOptions'
></el-date-picker>
</el-form-item>
</el-form>
<span
slot=
"footer"
>
<span
slot=
'footer'
>
<el-button
size=
"small"
@
click=
"completeVisible = false"
>
取消
</el-button
size=
'small'
@
click=
'completeVisible = false'
>
取消
</el-button
>
<el-button
size=
"small"
type=
"primary"
@
click=
"submitTime"
>
确认
</el-button
size=
'small'
type=
'primary'
@
click=
'submitTime'
>
确认
</el-button
>
</span>
</el-dialog>
<!-- 指派 -->
<el-dialog
title=
"验收"
:close-on-click-modal=
"false"
:visible
.
sync=
"acceptVisible"
width=
"800px"
title=
'验收'
:close-on-click-modal=
'false'
:visible
.
sync=
'acceptVisible'
width=
'800px'
>
<el-form
:inline=
"true"
size=
"mini"
:model=
"acceptForm"
ref=
"acceptForm"
:rules=
"acceptFormRules"
label-width=
"110px"
:inline=
'true'
size=
'mini'
:model=
'acceptForm'
ref=
'acceptForm'
:rules=
'acceptFormRules'
label-width=
'110px'
>
<el-form-item
label=
"验收结果"
prop=
"acceptanceResult"
label=
'验收结果'
prop=
'acceptanceResult'
>
<el-radio-group
v-model=
"acceptForm.acceptanceResult"
size=
"small"
style=
"width: 100%"
v-model=
'acceptForm.acceptanceResult'
size=
'small'
style=
'width: 100%'
>
<el-radio
:label=
"item.value"
v-for=
"(item, index) in acceptanceResultList"
:key=
"index"
>
{{
item
.
label
}}
</el-radio
:label=
'item.value'
v-for=
'(item, index) in acceptanceResultList'
:key=
'index'
>
{{
item
.
label
}}
</el-radio
>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"验收意见"
prop=
"acceptanceContent"
label=
'验收意见'
prop=
'acceptanceContent'
:rules=
"[
{
required:
...
...
@@ -597,46 +602,46 @@
]"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 4 }"
style=
"width:400px"
placeholder=
"请输入内容"
v-model=
"acceptForm.acceptanceContent"
type=
'textarea'
:autosize=
'
{ minRows: 4 }'
style=
'width:400px'
placeholder=
'请输入内容'
v-model=
'acceptForm.acceptanceContent'
>
</el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
>
<span
slot=
'footer'
>
<el-button
size=
"mini"
@
click=
"acceptVisible = false"
>
取消
</el-button
size=
'mini'
@
click=
'acceptVisible = false'
>
取消
</el-button
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"submitAccept"
>
确定
</el-button
size=
'mini'
type=
'primary'
@
click=
'submitAccept'
>
确定
</el-button
>
</span>
</el-dialog>
<!-- 不受理 -->
<el-dialog
title=
"不受理"
:close-on-click-modal=
"false"
:visible
.
sync=
"pendingVisible"
width=
"800px"
title=
'不受理'
:close-on-click-modal=
'false'
:visible
.
sync=
'pendingVisible'
width=
'800px'
>
<el-form
:inline=
"true"
size=
"mini"
:model=
"pendingForm"
ref=
"pendingForm"
label-width=
"110px"
:inline=
'true'
size=
'mini'
:model=
'pendingForm'
ref=
'pendingForm'
label-width=
'110px'
>
<el-form-item
label=
"原因"
prop=
"closeReason"
label=
'原因'
prop=
'closeReason'
:rules=
"[
{
required: true,
...
...
@@ -646,26 +651,26 @@
]"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 4 }"
style=
"width:400px"
placeholder=
"请输入"
v-model=
"pendingForm.closeReason"
type=
'textarea'
:autosize=
'
{ minRows: 4 }'
style=
'width:400px'
placeholder=
'请输入'
v-model=
'pendingForm.closeReason'
>
</el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
>
<span
slot=
'footer'
>
<el-button
size=
"mini"
@
click=
"pendingVisible = false"
>
取消
</el-button
size=
'mini'
@
click=
'pendingVisible = false'
>
取消
</el-button
>
<el-button
size=
"mini"
type=
"primary"
@
click=
"submitPending"
>
确定
</el-button
size=
'mini'
type=
'primary'
@
click=
'submitPending'
>
确定
</el-button
>
</span>
</el-dialog>
...
...
@@ -709,6 +714,7 @@ import resumetWork from '@/assets/work/resume.png'
import
closetWork
from
'@/assets/work/close.png'
import
updateWork
from
'@/assets/work/update.png'
import
anceingWork
from
'@/assets/work/anceing.png'
export
default
{
name
:
'task_center'
,
mixins
:
[
pagination
],
...
...
@@ -848,19 +854,23 @@ export default {
minWidth
:
120
,
align
:
'left'
,
render
:
item
=>
(
<
span
style
=
"position: relative;"
>
<
span
style
=
'position: relative;'
>
<
span
>
{
item
.
title
}
<
/span
>
{
item
.
sign
===
1
&&
item
.
orderStatus
===
'PRE_HANDLING'
&&
(
<
i
class
=
"el-icon-info"
title
=
"待回复"
class
=
'el-icon-info'
title
=
'待回复'
><
/i
>
)}
<
/span
>
),
},
{
label
:
'工单编号'
,
key
:
'orderNo'
,
width
:
110
},
{
label
:
'工单编号'
,
key
:
'orderNo'
,
width
:
110
,
},
{
label
:
'工单模块'
,
key
:
'moduleName'
,
...
...
@@ -924,20 +934,20 @@ export default {
onChange
=
{
v
=>
this
.
setStatus
(
item
,
v
)}
>
<
el
-
option
label
=
""
value
=
""
label
=
''
value
=
''
><
/el-option
>
<
el
-
option
label
=
"低"
value
=
"1"
label
=
'低'
value
=
'1'
><
/el-option
>
<
el
-
option
label
=
"中"
value
=
"2"
label
=
'中'
value
=
'2'
><
/el-option
>
<
el
-
option
label
=
"高"
value
=
"3"
label
=
'高'
value
=
'3'
><
/el-option
>
<
/el-select
>
<
/div
>
...
...
@@ -993,54 +1003,52 @@ export default {
<
span
>
{(
item
.
orderStatus
===
'PRE_HANDLING'
||
item
.
orderStatus
===
'TO_BE_ASSIGN'
||
item
.
orderStatus
===
'TO_BE_CONFIRMED'
)
&&
Number
(
item
.
fromUser
)
===
this
.
userInfo
.
id
&&
(
<
span
title
=
"修改"
class
=
"icon-view"
>
item
.
orderStatus
===
'TO_BE_CONFIRMED'
)
&&
(
<
span
title
=
'修改'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
updateWork
}
onClick
=
{()
=>
this
.
update
(
item
)}
/
>
<
/span
>
)}
)}
{
<
span
title
=
"详情"
class
=
"icon-view icon-tools-view"
title
=
'详情'
class
=
'icon-view icon-tools-view'
>
<
i
class
=
"el-icon-tickets"
class
=
'el-icon-tickets'
onClick
=
{()
=>
this
.
showDetail
(
item
)}
><
/i
>
<
/span
>
}
{
item
.
orderStatus
===
'TO_BE_ASSIGN'
&&
(
<
span
title
=
"指派给"
class
=
"icon-view"
>
<
span
title
=
'指派给'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
assignWork
}
onClick
=
{()
=>
this
.
showAssign
(
item
)}
/
>
<
/span
>
)}
{
item
.
orderStatus
===
'IN_PROGRESS'
&&
(
<
span
title
=
"暂停"
class
=
"icon-view"
>
<
span
title
=
'暂停'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
pauseWork
}
onClick
=
{()
=>
this
.
pause
(
item
)}
/
>
<
/span
>
)}
{
item
.
orderStatus
===
'PAUSEING'
&&
(
<
span
title
=
"恢复"
class
=
"icon-view"
>
<
span
title
=
'恢复'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
resumetWork
}
onClick
=
{()
=>
this
.
resume
(
item
)}
/
>
...
...
@@ -1048,11 +1056,11 @@ export default {
)}
{
item
.
orderStatus
===
'TO_BE_CONFIRMED'
&&
Number
(
item
.
leaders
)
===
this
.
userInfo
.
id
&&
(
<
span
title
=
"开始"
class
=
"icon-view"
>
this
.
userInfo
.
id
&&
(
<
span
title
=
'开始'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
startWork
}
onClick
=
{()
=>
this
.
startWorkOrder
(
item
)
...
...
@@ -1061,41 +1069,41 @@ export default {
<
/span
>
)}
{
item
.
orderStatus
===
'CLOSED'
&&
(
<
span
title
=
"归档"
class
=
"icon-view"
>
<
span
title
=
'归档'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
archiveWork
}
onClick
=
{()
=>
this
.
archive
(
item
)}
/
>
<
/span
>
)}
{
item
.
orderStatus
===
'IN_PROGRESS'
&&
(
<
span
title
=
"处理完成"
class
=
"icon-view"
>
<
span
title
=
'处理完成'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
completeWork
}
onClick
=
{()
=>
this
.
complete
(
item
)}
/
>
<
/span
>
)}
{
item
.
orderStatus
===
'ACCEPTANCEING'
&&
Number
(
item
.
leaders
)
===
{
item
.
orderStatus
===
'ACCEPTANCEING'
&&
Number
(
item
.
acceptanceUserId
)
===
this
.
userInfo
.
id
&&
(
<
span
title
=
"已完成"
class
=
"icon-view"
>
<
span
title
=
'已完成'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
anceingWork
}
onClick
=
{()
=>
this
.
anceing
(
item
)}
/
>
<
/span
>
)}
)}
{
item
.
orderStatus
===
'IN_COMPLETE'
&&
(
<
span
title
=
"关闭"
class
=
"icon-view"
>
<
span
title
=
'关闭'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
closetWork
}
onClick
=
{()
=>
this
.
close
(
item
)}
/
>
...
...
@@ -1105,10 +1113,10 @@ export default {
item
.
orderStatus
===
'TO_BE_CONFIRMED'
||
item
.
orderStatus
===
'IN_PROGRESS'
||
item
.
orderStatus
===
'IN_COMPLETE'
)
&&
(
<
span
title
=
"驳回"
class
=
"icon-view"
>
<
span
title
=
'驳回'
class
=
'icon-view'
>
<
img
width
=
"24"
height
=
"24"
width
=
'24'
height
=
'24'
src
=
{
rejectWork
}
onClick
=
{()
=>
this
.
reject
(
item
)}
/
>
...
...
@@ -1134,7 +1142,10 @@ export default {
设置优先级
*/
setStatus
(
data
,
i
)
{
const
{
id
,
priorityStatus
}
=
data
const
{
id
,
priorityStatus
,
}
=
data
axios
.
post
(
'platform/platformWorkOrder/updatePriority'
,
{
id
,
...
...
@@ -1162,7 +1173,7 @@ export default {
this
.
isEdit
=
false
this
.
editDialog
=
true
this
.
$refs
.
editForm
&&
this
.
$refs
.
editForm
.
resetFields
()
this
.
$refs
.
editForm
.
resetFields
()
},
update
(
v
)
{
getInfo
(
v
.
id
).
then
(
res
=>
{
...
...
@@ -1177,7 +1188,7 @@ export default {
this
.
isEdit
=
true
this
.
editDialog
=
true
this
.
$refs
.
editForm
&&
this
.
$refs
.
editForm
.
resetFields
()
this
.
$refs
.
editForm
.
resetFields
()
}
})
},
...
...
@@ -1189,7 +1200,10 @@ export default {
this
.
getlist
()
this
.
getOrderTree
()
},
cellClassName
({
row
,
columnIndex
})
{
cellClassName
({
row
,
columnIndex
,
})
{
if
(
(
row
.
orderStatus
===
'TO_BE_ASSIGN'
||
row
.
orderStatus
===
'TO_BE_CONFIRMED'
||
...
...
@@ -1216,7 +1230,10 @@ export default {
return
'order-grey'
}
},
cellStyle
({
row
,
columnIndex
})
{
cellStyle
({
row
,
columnIndex
,
})
{
if
(
(
row
.
orderStatus
===
'PRE_HANDLING'
||
row
.
orderStatus
===
'TO_BE_ASSIGN'
||
...
...
@@ -1341,7 +1358,8 @@ export default {
this
.
getlist
()
}
})
}
catch
(
error
)
{}
}
catch
(
error
)
{
}
}
})
},
...
...
@@ -1368,7 +1386,8 @@ export default {
this
.
getlist
()
}
})
}
catch
(
error
)
{}
}
catch
(
error
)
{
}
}
})
},
...
...
@@ -1501,7 +1520,8 @@ export default {
})
}
})
}
catch
{}
}
catch
{
}
},
async
resume
(
v
)
{
try
{
...
...
@@ -1542,7 +1562,8 @@ export default {
}
})
})
}
catch
{}
}
catch
{
}
},
formaTime
(
data
)
{
const
date1
=
new
Date
()
...
...
@@ -1620,7 +1641,7 @@ export default {
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
'scss'
scoped
>
.wraper
{
height
:
100%
;
display
:
flex
;
...
...
@@ -1651,6 +1672,7 @@ export default {
background-color
:
#909399
!important
;
color
:
#fff
;
}
.el-icon-info
::before
{
position
:
absolute
;
right
:
-13px
;
...
...
@@ -1659,17 +1681,21 @@ export default {
color
:
#f56c6c
;
cursor
:
pointer
;
}
.el-tree-node
{
font-size
:
14px
;
}
.high-row
{
background-color
:
#1565c0
;
}
.el-tree-node__content
{
height
:
32px
;
padding
:
4px
0px
;
padding-left
:
10px
!important
;
}
.el-tree-node__children
.el-tree-node.is-current
{
.el-tree-node__content
{
position
:
relative
;
...
...
@@ -1690,6 +1716,7 @@ export default {
}
}
}
.page_left
{
width
:
200px
;
min-width
:
200px
;
...
...
@@ -1697,6 +1724,7 @@ export default {
border-radius
:
5px
;
margin-right
:
10px
;
}
.page_right
{
flex
:
1
;
display
:
flex
;
...
...
@@ -1705,27 +1733,33 @@ export default {
border-radius
:
5px
;
overflow
:
hidden
;
}
.search_form
{
margin-top
:
5px
;
margin-left
:
10px
;
}
.search_form
>>>
.el-form-item
{
.search_form
>
>
>
.el-form-item
{
margin-bottom
:
5px
;
}
.content
{
max-height
:
68vh
;
overflow
:
auto
;
}
.detail_list
{
padding-top
:
10px
;
background-color
:
#efefef
;
}
.detail_list
.item
{
display
:
inline-block
;
width
:
30%
;
line-height
:
24px
;
margin-bottom
:
10px
;
}
.detail_list
.item
.label
{
display
:
inline-block
;
color
:
#999
;
...
...
@@ -1733,13 +1767,16 @@ export default {
text-align
:
right
;
margin-right
:
5px
;
}
.detail_list
.item
.value
{
color
:
#222
;
}
.item_wrap
{
background
:
#efefef
;
padding-top
:
10px
;
}
.detail_list
.item
.label
{
display
:
inline-block
;
color
:
#999
;
...
...
@@ -1747,15 +1784,19 @@ export default {
text-align
:
right
;
margin-right
:
5px
;
}
.detail_list
.item
.value
{
color
:
#222
;
}
.form_item
::v-deep
.el-radio
{
margin-right
:
13px
;
}
.form_item
::v-deep
.el-radio
svg
{
vertical-align
:
text-bottom
;
}
.detail_btn
{
display
:
inline-block
;
font-size
:
14px
;
...
...
@@ -1766,9 +1807,11 @@ export default {
cursor
:
pointer
;
vertical-align
:
bottom
;
}
.detail_btn
+
.detail_btn
{
margin-left
:
10px
;
}
.table-wrap
{
background
:
#fff
;
flex
:
1
;
...
...
@@ -1780,6 +1823,7 @@ export default {
margin-bottom
:
10px
;
display
:
flex
;
}
.step
{
position
:
relative
;
flex
:
1
;
...
...
@@ -1811,6 +1855,7 @@ export default {
border-left
:
16px
solid
transparent
!important
;
border-bottom
:
16px
solid
#cacaca
;
}
.step-after
:after
{
width
:
22px
;
height
:
32px
;
...
...
@@ -1821,6 +1866,7 @@ export default {
border-bottom
:
16px
solid
transparent
!important
;
background-color
:
#fff
;
}
.step-after
:after
,
.step-before
:before
{
content
:
''
;
...
...
@@ -1829,16 +1875,20 @@ export default {
top
:
0
;
box-sizing
:
border-box
;
}
.step-active
{
background-color
:
#ff6a00
;
}
.step-active
:after
,
.step-active
:before
{
border-color
:
#ff6a00
;
}
.step-pass
{
background-color
:
rgba
(
255
,
106
,
0
,
0.5
);
}
.step-pass
:after
,
.step-pass
:before
{
border-color
:
rgba
(
255
,
106
,
0
,
0.5
);
...
...
@@ -1848,6 +1898,7 @@ export default {
border
:
1px
solid
#efefef
;
margin-top
:
10px
;
}
.record
.title
{
height
:
40px
;
line-height
:
40px
;
...
...
@@ -1856,6 +1907,7 @@ export default {
background
:
#efefef
;
border-left
:
2px
solid
#ff6a00
;
}
.chat_content
{
padding
:
10px
;
}
...
...
@@ -1863,15 +1915,19 @@ export default {
.chat_item
{
margin-bottom
:
10px
;
}
.chat_item.chat_right
{
text-align
:
right
;
}
.chat_warp
{
display
:
flex
;
}
.chat_right
.chat_warp
{
justify-content
:
end
;
}
.chat_icon
{
width
:
30px
;
height
:
30px
;
...
...
@@ -1888,6 +1944,7 @@ export default {
justify-content
:
center
;
padding
:
20px
0
;
}
.detail_list
{
&::v-deep
{
table
{
...
...
@@ -1920,12 +1977,15 @@ export default {
margin-left
:
6px
;
}
}
.priorityStatus-select
{
.priorityStatus-select
{
height
:
30px
;
&::v-deep
.el-input__inner{
&::v-deep
.el-input__inner
{
height
:
30px
;
}
&
::v-deep
.el-input__suffix
{
&
::v-deep
.el-input__suffix
{
top
:
4px
;
}
}
...
...
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