Commit b05a3a34 by yangzhi

fix:1

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