deesCloud-web/tool_detail.html

554 lines
20 KiB
HTML
Raw Normal View History

2025-08-01 16:50:32 +08:00
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>仪器信息汇总</title>
2026-01-29 15:13:21 +08:00
<script src="./scripts/polyfill.js"></script>
<script src="./scripts/vue.min.js"></script>
<script src="./scripts/vue-router.js"></script>
<script src="./scripts/elementindex.js"></script>
<link rel="stylesheet" href="./scripts/elementindex.css">
<script src="scripts/axiosmin.js"></script>
<script src="scripts/checkuser.js"></script>
2025-08-01 16:50:32 +08:00
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
2026-01-29 15:13:21 +08:00
background-color: rgb(18,25,34);
margin: 0;
font-family: "Microsoft YaHei", Arial, Helvetica, sans-serif, "宋体";
color: rgb(255,255,0);
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.homeWrap {
padding: 20px;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.page-header {
2025-08-01 16:50:32 +08:00
text-align: center;
2026-01-29 15:13:21 +08:00
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid #3C8DBC;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.page-title {
font-size: 24px;
font-weight: bolder;
color: rgb(255,255,0);
2025-08-01 16:50:32 +08:00
margin-bottom: 10px;
}
2026-01-29 15:13:21 +08:00
.page-subtitle {
font-size: 16px;
color: rgb(255,255,200);
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.instrument-info {
background-color: #fdf6ec;
color: #e6a23c;
padding: 12px 20px;
border-radius: 4px;
margin-bottom: 20px;
2025-08-01 16:50:32 +08:00
text-align: center;
2026-01-29 15:13:21 +08:00
font-size: 16px;
2025-08-01 16:50:32 +08:00
font-weight: 500;
2025-08-26 12:46:43 +08:00
}
2026-01-29 15:13:21 +08:00
.section-card {
margin-bottom: 20px;
border: 1px solid #3C8DBC;
border-radius: 4px;
background: rgba(30, 40, 50, 0.8);
2025-08-26 12:46:43 +08:00
}
2026-01-29 15:13:21 +08:00
.section-header {
background-color: #00a2e8;
padding: 12px 20px;
color: rgb(255,255,0);
font-size: 16px;
font-weight: 600;
border-bottom: 1px solid #3C8DBC;
2025-08-26 12:46:43 +08:00
}
2026-01-29 15:13:21 +08:00
.section-content {
padding: 15px;
2025-08-26 12:46:43 +08:00
}
2026-01-29 15:13:21 +08:00
/* 表格样式 - 与lcm.html完全一致 */
.el-table {
font-family: "Microsoft YaHei", Arial, Helvetica, sans-serif, "宋体";
background-color: rgb(18,25,34);
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.el-table th {
background-color: #00a2e8;
padding: 8px 0;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.el-table th>.cell {
color: rgb(255,255,0);
2025-08-01 16:50:32 +08:00
text-align: center;
2026-01-29 15:13:21 +08:00
font-weight: 600;
padding: 0;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.el-table td {
background-color: rgb(18,25,34);
border-right: 1px solid #EBEEF5;
padding: 4px 0;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.el-table td>.cell {
color: rgb(255,255,0);
2025-08-01 16:50:32 +08:00
text-align: center;
2026-01-29 15:13:21 +08:00
font-size: 13px;
padding: 3px 0;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.el-table .warning-row {
color: #ff0000;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
/* 分页样式 */
.pagination-container {
margin-top: 15px;
background-color: #ECF5FF;
padding: 10px;
border-radius: 4px;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
/* 按钮样式 */
.action-buttons {
2025-08-01 16:50:32 +08:00
display: flex;
2026-01-29 15:13:21 +08:00
gap: 10px;
2025-08-01 16:50:32 +08:00
margin-bottom: 15px;
2026-01-29 15:13:21 +08:00
flex-wrap: wrap;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
2025-08-01 16:50:32 +08:00
.quality-item {
margin-bottom: 15px;
2026-01-29 15:13:21 +08:00
padding: 12px;
border: 1px solid #3C8DBC;
border-radius: 4px;
background: rgba(40, 50, 60, 0.6);
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
2025-08-01 16:50:32 +08:00
.quality-header {
display: flex;
align-items: center;
2026-01-29 15:13:21 +08:00
gap: 15px;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
2025-08-01 16:50:32 +08:00
.quality-title {
2026-01-29 15:13:21 +08:00
color: rgb(255,255,200);
2025-08-26 12:46:43 +08:00
font-weight: 500;
2026-01-29 15:13:21 +08:00
min-width: 150px;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
2025-08-01 16:50:32 +08:00
.quality-display {
flex: 1;
2026-01-29 15:13:21 +08:00
color: rgb(255,255,0);
2025-08-01 16:50:32 +08:00
padding: 6px 12px;
2026-01-29 15:13:21 +08:00
background: rgba(30, 40, 50, 0.8);
border-radius: 3px;
min-height: 32px;
2025-08-01 16:50:32 +08:00
display: flex;
align-items: center;
}
2026-01-29 15:13:21 +08:00
.no-data {
text-align: center;
color: rgb(255,255,200);
padding: 30px;
font-style: italic;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.component-list {
display: grid;
gap: 10px;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.component-item {
display: flex;
padding: 10px 15px;
border: 1px solid #3C8DBC;
border-radius: 4px;
background: rgba(40, 50, 60, 0.6);
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.component-name {
color: rgb(255,255,200);
font-weight: 500;
min-width: 120px;
}
.component-detail {
color: rgb(255,255,0);
flex: 1;
2025-08-01 16:50:32 +08:00
}
.file-item {
display: flex;
align-items: center;
2026-01-29 15:13:21 +08:00
margin-bottom: 5px;
2025-08-01 16:50:32 +08:00
}
.file-item a {
2026-01-29 15:13:21 +08:00
color: #66b1ff;
2025-08-01 16:50:32 +08:00
text-decoration: none;
margin-left: 5px;
}
.file-item a:hover {
text-decoration: underline;
}
@media (max-width: 768px) {
2026-01-29 15:13:21 +08:00
.homeWrap {
padding: 10px;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.quality-header {
flex-direction: column;
align-items: flex-start;
gap: 10px;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.quality-title {
min-width: auto;
2025-08-01 16:50:32 +08:00
}
2026-01-29 15:13:21 +08:00
.action-buttons {
2025-08-01 16:50:32 +08:00
flex-direction: column;
}
}
</style>
</head>
2025-08-26 12:46:43 +08:00
2025-08-01 16:50:32 +08:00
<body>
2026-01-29 15:13:21 +08:00
<div id="app" class="homeWrap">
<!-- 页面头部 -->
<div class="page-header">
<div class="page-title">DEES 测井作业管理云系统 V1.0.1</div>
<div class="page-subtitle">仪器信息汇总</div>
2025-08-01 16:50:32 +08:00
</div>
2026-01-29 15:13:21 +08:00
<!-- 仪器基本信息 -->
<div class="instrument-info">
仪器名称: <span id="seriesNum"></span>
2025-08-01 16:50:32 +08:00
</div>
2026-01-29 15:13:21 +08:00
<el-container style="gap: 20px;">
<!-- 左侧区域 -->
<el-aside style="width: 45%;">
<!-- 基本信息 -->
<div class="section-card">
<div class="section-header">基本信息</div>
<div class="section-content">
<div style="padding: 0 15px;">
<table class="basic-info-table">
<tbody>
<tr>
<th>出厂日期:</th>
<td></td>
<th>入库日期:</th>
<td></td>
</tr>
<tr>
<td>累计工作时间:</td>
<td></td>
<td>当次累计工作时间:</td>
<td></td>
</tr>
<tr>
<td>固件版本号:</td>
<td colspan="3"></td>
</tr>
</tbody>
</table>
</div>
2025-08-26 12:46:43 +08:00
</div>
2025-08-01 16:50:32 +08:00
</div>
2026-01-29 15:13:21 +08:00
<!-- 产品质检记录 -->
<div class="section-card">
<div class="section-header">产品质检记录</div>
<div class="section-content">
<div style="padding: 15px 0;">
<!-- 生产过程记录 -->
<div class="quality-item">
<div class="quality-header">
<div class="quality-title">生产过程记录:</div>
<div class="quality-display" id="processRecordDisplay"></div>
<button id="editProcessRecord" class="edit-btn" style="margin-right: 120px;">编辑</button>
</div>
</div>
<!-- 生产过程检验 -->
<div class="quality-item">
<div class="quality-header">
<div class="quality-title">生产过程检验:</div>
<div class="quality-display" id="processInspectionDisplay"></div>
<button id="editProcessInspection" class="edit-btn" style="margin-right: 120px;">编辑</button>
</div>
</div>
<!-- 成品检验记录 -->
<div class="quality-item">
<div class="quality-header">
<div class="quality-title">成品检验记录:</div>
<div class="quality-display" id="finalInspectionDisplay"></div>
<button id="editFinalInspection" class="edit-btn" style="margin-right: 120px;">编辑</button>
</div>
</div>
</div>
</div>
</div>
2025-08-01 16:50:32 +08:00
2026-01-29 15:13:21 +08:00
<!-- 内部组件 -->
<div class="section-card">
<div class="section-header">内部组件</div>
<div class="section-content">
<div class="no-data">暂无数据</div>
</div>
2025-08-26 12:46:43 +08:00
</div>
2026-01-29 15:13:21 +08:00
<!-- 仪器所属部门 -->
<div class="section-card">
<div class="section-header">仪器所属部门</div>
<div class="section-content">
<div class="component-item">
<div class="component-name" id="deptContainer" style="width: auto; white-space: nowrap;">暂无部门信息</div>
</div>
</div>
</div>
</el-aside>
<!-- 右侧区域 -->
<el-main style="width: 55%; padding: 0; margin: 0;">
<!-- 仪器施工汇总 -->
<div class="section-card">
<div class="section-header" style="display: flex; justify-content: space-between; align-items: center;">
<span>仪器施工汇总</span>
</div>
<div class="section-content">
<el-table
style="background-color: #121922;"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
:height="tHeight"
:cell-style="{background:'#121922'}"
border>
<el-table-column
prop="wellname"
label="井名"
width="80"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="workStatus"
label="入井工作情况"
width="100"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="workSection"
label="施工井段"
width="100"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="maxTemp"
label="最高工作温度"
width="80">
</el-table-column>
<el-table-column
prop="maxPressure"
label="最高承压"
width="80">
</el-table-column>
<el-table-column
prop="instrumentStatus"
label="仪器工作情况"
width="80">
</el-table-column>
<el-table-column
prop="worker"
label="上井人"
width="100">
</el-table-column>
<el-table-column
prop="files"
label="文件"
width="160"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="links"
label="链接"
width="260"
:show-overflow-tooltip="true">
</el-table-column>
</el-table>
<div class="pagination-container">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[50,100, 200, 300]"
:page-size="pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="recordTotal"
style="background-color: #ECF5FF;">
</el-pagination>
</div>
</div>
</div>
<!-- 维保情况 -->
<div class="section-card">
<div class="section-header" style="display: flex; justify-content: space-between; align-items: center;">
<span>维保情况</span>
<el-button id="bt_add" style="margin-left: 5px;" plain type="primary" icon="el-icon-circle-plus-outline" @click="addMaintenanceRecord()">新增维保记录</el-button>
</div>
<div class="section-content">
<el-table
style="background-color: #121922;"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
:height="tHeight"
:cell-style="{background:'#121922'}"
border>
<el-table-column
prop="time"
label="时间"
width="100">
</el-table-column>
<el-table-column
prop="level"
label="等级"
width="40">
</el-table-column>
<el-table-column
prop="info"
label="维保信息"
width="180"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="maintainer"
label="维保人"
width="80">
</el-table-column>
<el-table-column
prop="files"
label="文件"
width="160"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="links"
label="链接"
width="260"
:show-overflow-tooltip="true">
</el-table-column>
</el-table>
<div class="pagination-container">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[50,100, 200, 300]"
:page-size="pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="recordTotal"
style="background-color: #ECF5FF;">
</el-pagination>
</div>
</div>
</div>
</el-main>
</el-container>
2025-08-01 16:50:32 +08:00
2026-01-29 15:13:21 +08:00
<!-- 底部版权 -->
<div style="text-align: center; padding: 20px 0; color: rgb(255,255,200); font-size: 12px; border-top: 1px solid #3C8DBC; margin-top: 20px;">
<span>版权所有 © 北京六合伟业科技股份有限公司</span>
</div>
2025-08-01 16:50:32 +08:00
</div>
2026-01-29 15:13:21 +08:00
<script>
new Vue({
el: '#app',
data() {
return {
// 仅保留必要的空数据结构
tableData: [],
currentPage: 1,
pagesize: 50,
recordTotal: 0,
tHeight: 400
}
},
mounted() {
// 仅保留原有的设置仪器名称的逻辑
const seriesNum = this.getUrlParameter('series');
const instrument = this.getUrlParameter('instrument');
if (seriesNum) {
document.getElementById('seriesNum').textContent = seriesNum + '-' + instrument;
}
// 设置表格高度
this.calculateTableHeight();
window.addEventListener('resize', this.calculateTableHeight);
},
beforeDestroy() {
window.removeEventListener('resize', this.calculateTableHeight);
},
methods: {
// 获取URL参数
getUrlParameter(name) {
name = name.replace(/[\[\]]/g, '\\$&');
const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');
const results = regex.exec(window.location.href);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
},
// 计算表格高度
calculateTableHeight() {
const windowHeight = window.innerHeight;
this.tHeight = windowHeight - 400;
},
// 分页处理 - 空方法由外部JS文件实现
handleSizeChange(val) {
// 由外部JS文件实现
},
handleCurrentChange(val) {
// 由外部JS文件实现
},
// 新增维保记录 - 空方法由外部JS文件实现
addMaintenanceRecord() {
// 由外部JS文件实现
}
}
});
</script>
<!-- 原有的脚本引入 -->
<script src="./scripts/tool_detail.js"></script>
2025-08-01 16:50:32 +08:00
</body>
</html>