229 lines
5.2 KiB
Vue
Raw Normal View History

2024-11-26 15:04:35 +08:00
<!--
* @Author: SunTao 328867980@qq.com
* @Date: 2024-11-26 15:49:28
* @LastEditors: SunTao 328867980@qq.com
2025-01-03 10:44:18 +08:00
* @LastEditTime: 2025-01-03 10:42:24
2024-11-26 15:04:35 +08:00
* @FilePath: \znxjxt-ui\src\views\xj\document\maintenance-notice\components\view-dialog.vue
* @Description: 养护通知单查看弹窗
-->
<template>
<div class="view-content">
<div class="view-title">高速公路道路养护作业通知单</div>
2025-01-03 10:44:18 +08:00
<!-- <div class="view-title-card">编号{{ viewData.noticeNo || "" }}</div> -->
2024-11-26 15:04:35 +08:00
<div class="view-table">
<div class="view-table-top">
<div class="left-item">
<div class="left-item-content">
<div class="name">通知时间</div>
<div class="value">{{ viewData.issueDate || "" }}</div>
2024-11-26 15:04:35 +08:00
</div>
<div class="left-item-content">
<div class="name">作业完成时间</div>
<div class="value">{{ viewData.handleTime || "" }}</div>
2024-11-26 15:04:35 +08:00
</div>
</div>
<div class="left-item-title">地点</div>
<div class="left-item">
<div class="left-item-content">
<div class="name">里程桩号</div>
<div class="value">
{{ viewData.stakeStart || "" }}{{ viewData.stakeEnd || "" }}
</div>
2024-11-26 15:04:35 +08:00
</div>
<div class="left-item-content">
<div class="name">位置</div>
<div class="value">{{ viewData.segmentName }}</div>
2024-11-26 15:04:35 +08:00
</div>
</div>
</div>
2025-01-03 10:44:18 +08:00
<!-- <div class="view-table-middle">养护作业项目</div>
2024-11-26 15:04:35 +08:00
<div class="view-table-content">
<div class="content-left-item">
<div class="name">序号</div>
<div class="value"> </div>
</div>
<fssm-scroll :showBar="false" style="max-height: 16rem">
<div
class="content-left-item"
v-for="(item, index) in viewData.taskDescription"
2024-11-26 15:04:35 +08:00
:key="`content-left-item-${index}`"
>
<div class="name">{{ index + 1 }}</div>
<div class="value">
<fssm-scroll>
{{ item }}
</fssm-scroll>
</div>
</div>
</fssm-scroll>
2025-01-03 10:44:18 +08:00
</div> -->
2024-11-26 15:04:35 +08:00
<div class="view-table-bottom">
<span>管理处道路养护工程师{{ viewData.creator || "" }}</span>
<span>制表人{{ viewData.creator || "" }}</span>
<span>养护单位项目负责人{{ viewData.receiver || "" }}</span>
2024-11-26 15:04:35 +08:00
</div>
</div>
</div>
</template>
<script>
import { getMaintenanceNoticeById } from "@/api/xj/document";
import fssmScroll from "@/components/scroll/fssm-scroll.vue";
2024-11-26 15:04:35 +08:00
export default {
components: { fssmScroll },
name: "ViewDialog",
props: {
dialogItem: {
type: Object,
default: () => {},
},
},
2024-11-26 15:04:35 +08:00
data() {
return {
// 查看数据
viewData: {},
2024-11-26 15:04:35 +08:00
};
},
watch: {
dialogItem: {
handler(val) {
this.getNoticeById(val.id);
},
immediate: true,
deep: true,
},
},
methods: {
/**
* @description: 根据id查询养护通知单
* @param {*} id
* @return {*}
*/
getNoticeById(id) {
getMaintenanceNoticeById({ id }).then(({ code, data }) => {
if (code === 200) {
this.viewData = data;
}
});
},
},
2024-11-26 15:04:35 +08:00
};
</script>
<style scoped lang="scss">
.view-content {
width: 100%;
height: 100%;
.view-title {
display: flex;
justify-content: center;
font-size: 1.5rem;
font-weight: bold;
}
.view-title-card {
display: flex;
justify-content: flex-end;
font-size: 1rem;
}
}
.view-table {
font-size: 1rem;
.view-table-top {
width: 100%;
height: 6rem;
display: flex;
.left-item {
width: 45%;
height: 100%;
.left-item-content {
width: 100%;
height: 50%;
display: flex;
> div {
border: 1px solid black;
}
.name {
width: 40%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.value {
width: 60%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
}
}
.left-item-title {
width: 10%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid black;
}
}
.view-table-middle {
width: 100%;
height: 3rem;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid black;
}
.view-table-content {
width: 100%;
max-height: 20rem;
.content-left-item {
width: 100%;
height: 4rem;
display: flex;
.name {
width: 10%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid black;
}
.value {
width: 90%;
height: 100%;
padding: 0.25rem 1rem;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid black;
}
}
}
.view-table-bottom {
width: 100%;
padding: 0 2rem;
display: flex;
justify-content: space-between;
align-items: center;
}
}
</style>