工单详情页优化

This commit is contained in:
caoqianming 2022-10-25 16:29:57 +08:00
parent 7ee76ff1ea
commit 5308e95142
2 changed files with 60 additions and 43 deletions

View File

@ -9,36 +9,24 @@
height="400" height="400"
highlight-current-row highlight-current-row
> >
<el-table-column label="工单标题" min-width="100"> <!-- <el-table-column label="工单标题" min-width="100">
<template #default="scope"> <template #default="scope">
<span v-if="scope.row.ticket_data.title">{{ <span v-if="scope.row.ticket_data.title">{{
scope.row.ticket_data.title scope.row.ticket_data.title
}}</span> }}</span>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column label="进行状态" min-width="100"> <el-table-column label="进行状态">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.state_.name }}</span> <span>{{ scope.row.state_.name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作属性" min-width="100"> <el-table-column label="操作类型">
<template #default="scope">
<el-tag type="success" v-if="scope.row.transition_attribute == 1"
>同意</el-tag
>
<el-tag
type="success"
v-else-if="scope.row.transition_attribute == 2"
>拒绝</el-tag
>
</template>
</el-table-column>
<el-table-column label="操作类型" min-width="100">
<template #default="scope"> <template #default="scope">
<span>{{ interveneTypeOptions[scope.row.intervene_type] }}</span> <span>{{ interveneTypeOptions[scope.row.intervene_type] }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作人" min-width="100"> <el-table-column label="操作人">
<template #default="scope"> <template #default="scope">
<el-span v-if="scope.row.participant_">{{ <el-span v-if="scope.row.participant_">{{
scope.row.participant_.name scope.row.participant_.name
@ -48,9 +36,21 @@
}}</el-span> }}</el-span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作意见" min-width="100" prop="suggestion"> <el-table-column label="操作属性">
<template #default="scope">
<el-tag type="success" v-if="scope.row.transition_attribute == 1"
>同意</el-tag
>
<el-tag
type="danger"
v-else-if="scope.row.transition_attribute == 2"
>拒绝</el-tag
>
</template>
</el-table-column> </el-table-column>
<el-table-column label="更新时间" min-width="100" prop="update_time"> <el-table-column label="操作意见" prop="suggestion" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column label="更新时间" prop="update_time">
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-main> </el-main>

View File

@ -7,21 +7,37 @@
class="ticketRetry" class="ticketRetry"
v-if="!ticketDetail.script_run_last_result" v-if="!ticketDetail.script_run_last_result"
@click="reStart" @click="reStart"
type="primary" type="warning"
> >
重新执行 重新执行
</el-button> </el-button>
</el-card> </el-card>
<el-card style="margin-top: 8px" v-if="cateType==='visit'"> <el-card style="margin-top: 4px">
<el-descriptions title="来访信息" :column="3"> <el-descriptions title="工单信息" :column="3">
<el-descriptions-item label="工单流水号:"> <el-descriptions-item label="工单流水号:">
{{ticketDetail.sn }} {{ticketDetail.sn }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="所属流程:">
<span v-if="ticketDetail.workflow">{{ticketDetail.workflow_.name }}</span>
</el-descriptions-item>
<el-descriptions-item label="创建时间:">
{{ticketDetail.create_time }}
</el-descriptions-item>
<el-descriptions-item label="工单标题:" :span="3">
{{ticketDetail.title }}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card style="margin-top: 4px" v-if="cateType==='visit'">
<el-descriptions title="来访信息" :column="3">
<el-descriptions-item label="来访概述:"> <el-descriptions-item label="来访概述:">
{{visitDetail.name }} {{visitDetail.name }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="来访单位:"> <el-descriptions-item label="来访级别:">
{{visitDetail.company }} {{visitDetail.name }}
</el-descriptions-item>
<el-descriptions-item label="来访事由:">
{{purpose_[visitDetail.purpose] }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="来访人数:"> <el-descriptions-item label="来访人数:">
<el-tag size="small">{{ visitDetail.count_people }}</el-tag> <el-tag size="small">{{ visitDetail.count_people }}</el-tag>
@ -37,25 +53,20 @@
<el-descriptions-item label="来访时间:"> <el-descriptions-item label="来访时间:">
{{visitDetail.visit_time }} {{visitDetail.visit_time }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="离时间:"> <el-descriptions-item label="离访时间:">
{{visitDetail.leave_time }} {{visitDetail.leave_time }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="来访事由:">
{{purpose_[visitDetail.purpose] }}
</el-descriptions-item>
<el-descriptions-item label="来访详述:">
{{visitDetail.description }}
</el-descriptions-item>
<el-descriptions-item label="接待人:" v-if="visitDetail.receptionist_"> <el-descriptions-item label="接待人:" v-if="visitDetail.receptionist_">
{{ visitDetail.receptionist_.name }} {{ visitDetail.receptionist_.name }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<div style="text-align: center">
<el-link type="primary" @click="showMoreVisit"> 更多信息</el-link>
</div>
<visit-dialog v-if="visitShow" ref="visitDialog"></visit-dialog>
</el-card> </el-card>
<el-card style="margin-top: 8px" v-if="cateType==='rpj'"> <el-card style="margin-top: 4px" v-if="cateType==='rpj'">
<el-descriptions title="入厂项目" :column="3"> <el-descriptions title="入厂项目" :column="3">
<el-descriptions-item label="工单流水号:">
{{ticketDetail.sn }}
</el-descriptions-item>
<el-descriptions-item label="相关方:"> <el-descriptions-item label="相关方:">
{{rpjDetail.rparty_name}} {{rpjDetail.rparty_name}}
</el-descriptions-item> </el-descriptions-item>
@ -86,11 +97,8 @@
</div> </div>
<show-dialog v-if="rpjShow" ref="showDialog"></show-dialog> <show-dialog v-if="rpjShow" ref="showDialog"></show-dialog>
</el-card> </el-card>
<el-card style="margin-top: 8px" v-if="cateType==='opl'"> <el-card style="margin-top: 4px" v-if="cateType==='opl'">
<el-descriptions title="作业许可证" :column="3"> <el-descriptions title="作业许可证" :column="3">
<el-descriptions-item label="工单流水号:">
{{ticketDetail.sn }}
</el-descriptions-item>
<el-descriptions-item label="所属作业:"> <el-descriptions-item label="所属作业:">
<span v-if="oplDetail.operation">{{oplDetail.operation_.name }}</span> <span v-if="oplDetail.operation">{{oplDetail.operation_.name }}</span>
</el-descriptions-item> </el-descriptions-item>
@ -119,7 +127,7 @@
<show-dialog v-if="rpjShow" ref="showDialog"></show-dialog> <show-dialog v-if="rpjShow" ref="showDialog"></show-dialog>
</el-card> </el-card>
<el-card style="margin-top: 8px" v-if="type!=='show'"> <el-card style="margin-top: 4px" v-if="type!=='show'">
<scTitle title="处理"></scTitle> <scTitle title="处理"></scTitle>
<el-form :model="form" ref="addForm" label-width="100px" label-position="left"> <el-form :model="form" ref="addForm" label-width="100px" label-position="left">
<el-form-item label="作业情况:" v-if="ticketDetail.state_&&ticketDetail.state_.key==='opl_close'"> <el-form-item label="作业情况:" v-if="ticketDetail.state_&&ticketDetail.state_.key==='opl_close'">
@ -166,7 +174,7 @@
</div> </div>
</div> </div>
</el-card> </el-card>
<el-card style="margin-top: 8px" header="处理日志"> <el-card style="margin-top: 4px" header="处理日志">
<work-details ref="workDetails" :ticket="ticketId"></work-details> <work-details ref="workDetails" :ticket="ticketId"></work-details>
</el-card> </el-card>
</el-main> </el-main>
@ -202,7 +210,7 @@
<el-button class="filter-item" type="primary" @click="deliverNodeHandler('1')">确定</el-button> <el-button class="filter-item" type="primary" @click="deliverNodeHandler('1')">确定</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-drawer :size="'50%'" v-model="showLimited" title="作业许可证详情"> <el-drawer :size="'50%'" v-model="showLimited" title="作业许可证详情" :close-on-click-modal="false">
<sc-fire :id="projectId"></sc-fire> <sc-fire :id="projectId"></sc-fire>
</el-drawer> </el-drawer>
</template> </template>
@ -211,12 +219,14 @@
import workDetails from "./details.vue"; import workDetails from "./details.vue";
import workStep from "./steps.vue"; import workStep from "./steps.vue";
import showDialog from "../rpm/rpj_show.vue"; import showDialog from "../rpm/rpj_show.vue";
import visitDialog from "../vm/visit_detial.vue";
export default { export default {
components: { components: {
workDetails, workDetails,
workStep, workStep,
showDialog showDialog,
visitDialog
}, },
name: "ticketdetail", name: "ticketdetail",
data() { data() {
@ -245,6 +255,7 @@
target_user: '', target_user: '',
}, },
rpjShow: false, rpjShow: false,
visitShow: false,
limitedAdd: false, limitedAdd: false,
showLimited: false, showLimited: false,
limitedDeliver: false, limitedDeliver: false,
@ -322,6 +333,12 @@
this.$refs.showDialog.open().setData({id: this.projectId}); this.$refs.showDialog.open().setData({id: this.projectId});
}) })
}, },
showMoreVisit() {
this.visitShow = true;
this.$nextTick(() => {
this.$refs.visitDialog.open('show').setData({id: this.projectId});
})
},
// //
getticketItem() { getticketItem() {
this.mainLoading = true this.mainLoading = true