Commit d7e75ada by cat

zd

parent 49c08d8b
...@@ -659,3 +659,14 @@ export function addKcax(query) { ...@@ -659,3 +659,14 @@ export function addKcax(query) {
params: query, params: query,
}); });
} }
//多井钻头曲线图
export function getDjztqxt(query) {
return request({
url: "/system/jsaa/djztqxt",
method: "get",
params: query,
});
}
\ No newline at end of file
import request from '@/utils/request'
// 查询多井钻头能效分析方案信息列表
export function listDjzt(query) {
return request({
url: '/system/djztnxfx/list',
method: 'get',
params: query
})
}
// 查询多井钻头能效分析方案信息详细
export function getDjzt(id) {
return request({
url: '/system/djztnxfx/' + id,
method: 'get'
})
}
// 新增多井钻头能效分析方案信息
export function addDjzt(data) {
return request({
url: '/system/djztnxfx',
method: 'post',
data: data
})
}
// 修改多井钻头能效分析方案信息
export function updateDjzt(data) {
return request({
url: '/system/djztnxfx',
method: 'put',
data: data
})
}
// 删除多井钻头能效分析方案信息
export function delDjzt(id) {
return request({
url: '/system/djztnxfx/' + id,
method: 'delete'
})
}
// 查询钻头尺寸下拉框
export function selectZtccList(query) {
return request({
url: "/system/jshaPdc/selectZtccList",
method: "get",
params: query,
});
}
...@@ -52,3 +52,11 @@ export function listTzsj(query) { ...@@ -52,3 +52,11 @@ export function listTzsj(query) {
params: query, params: query,
}); });
} }
// 查询多井钻头数据列表
export function listDjJsha(query) {
return request({
url: "/system/jshaPdc/getListByZtcc",
method: "get",
params: query,
});
}
\ No newline at end of file
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="曲线图形" name="curveGraph"> <el-tab-pane label="曲线图形" name="curveGraph">
<CurveGraph ref="curveGraphRef" :jh="queryParams.jh" :famc="queryParams.famc" :qk="queryParams.qk" <CurveGraph ref="curveGraphRef" :jh="queryParams.jh" :zbid="queryParams.zbid" :famc="queryParams.famc" :qk="queryParams.qk"
:jhs="queryParams.jhs" /> :jhs="queryParams.jhs" />
</el-tab-pane> </el-tab-pane>
...@@ -47,7 +47,8 @@ export default { ...@@ -47,7 +47,8 @@ export default {
jh: '', jh: '',
famc: '', famc: '',
qk: '', qk: '',
jhs: '' jhs: '',
zbid:''
}, },
// 标记是否是第一次进入页面 // 标记是否是第一次进入页面
isFirstLoad: true isFirstLoad: true
...@@ -56,8 +57,8 @@ export default { ...@@ -56,8 +57,8 @@ export default {
created() { created() {
// 获取路由参数 // 获取路由参数
console.log('详情页面created,完整路由对象:', this.$route); console.log('详情页面created,完整路由对象:', this.$route);
const { jh, famc, qk, jhs } = this.$route.params; const { jh, famc, qk, jhs,zbid} = this.$route.params;
console.log('路由参数:', { jh, famc, qk, jhs }); console.log('路由参数:', { jh, famc, qk, jhs ,zbid});
// 检查参数是否为空或undefined // 检查参数是否为空或undefined
if (jh && jh !== 'undefined' && jh !== 'null') { if (jh && jh !== 'undefined' && jh !== 'null') {
...@@ -65,9 +66,10 @@ export default { ...@@ -65,9 +66,10 @@ export default {
this.queryParams.famc = famc || ''; this.queryParams.famc = famc || '';
this.queryParams.qk = qk || ''; this.queryParams.qk = qk || '';
this.queryParams.jhs = jhs || ''; this.queryParams.jhs = jhs || '';
this.queryParams.zbid = zbid || '';
console.log('设置 queryParams:', this.queryParams); console.log('设置 queryParams:', this.queryParams);
} else { } else {
console.warn('未获取到有效的路由参数 jh,当前参数:', { jh, famc, qk, jhs }); console.warn('未获取到有效的路由参数 jh,当前参数:', { jh, famc, qk, jhs,zbid });
} }
// 确保第一次进入页面时不会自动初始化组件 // 确保第一次进入页面时不会自动初始化组件
console.log('页面初始化完成,等待用户点击tab'); console.log('页面初始化完成,等待用户点击tab');
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<script> <script>
import * as echarts from 'echarts'; import * as echarts from 'echarts';
import { getdjqxt } from '@/api/optimization/initialization'; import { getDjztqxt } from '@/api/optimization/initialization';
export default { export default {
props: { props: {
...@@ -17,6 +17,18 @@ export default { ...@@ -17,6 +17,18 @@ export default {
jhs: { jhs: {
type: String, type: String,
required: true, required: true,
},
zbid: {
type: String,
required: true,
},
qk: {
type: String,
required: true,
},
ztcc: {
type: String,
required: true,
} }
}, },
data() { data() {
...@@ -41,9 +53,9 @@ export default { ...@@ -41,9 +53,9 @@ export default {
}, },
getList() { getList() {
const params = { jhs: this.jhs }; const params = { zbid: this.zbid,ztccs:this.ztcc ,qk:this.qk};
this.loading = true; this.loading = true;
getdjqxt(params) getDjztqxt(params)
.then(res => { .then(res => {
console.log('接口返回数据:', res); console.log('接口返回数据:', res);
this.chartData = res; this.chartData = res;
......
...@@ -5,28 +5,8 @@ ...@@ -5,28 +5,8 @@
<div class="search-wrapper"> <div class="search-wrapper">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="68px"> label-width="68px">
<!-- <el-form-item label="区块名称" prop="qk">
<el-select v-model="queryParams.qk" placeholder="请选择区块名称" clearable filterable>
<el-option v-for="item in filteredBlockOptions" :key="item.qk" :label="item.qk"
:value="item.qk" />
</el-select>
</el-form-item>
<el-form-item label="井号" prop="jhs">
<el-input v-model="queryParams.jhs" placeholder="请输入井号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="完井日期" prop="wjrq">
<el-date-picker v-model="queryParams.wjrqks" type="year" value-format="yyyy" placeholder="完井开始年份">
</el-date-picker>
-
<el-date-picker v-model="queryParams.wjrqjs" type="year" value-format="yyyy" placeholder="完井结束年份">
</el-date-picker>
</el-form-item> -->
<el-form-item> <el-form-item>
<!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> -->
<!-- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:jsha:add']">新增</el-button> -->
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['system:jsha:export']">导出</el-button> v-hasPermi="['system:jsha:export']">导出</el-button>
</el-form-item> </el-form-item>
...@@ -39,7 +19,6 @@ ...@@ -39,7 +19,6 @@
<div class="main-table-wrapper" :class="{ 'with-detail': selectedRow }"> <div class="main-table-wrapper" :class="{ 'with-detail': selectedRow }">
<el-table border v-loading="loading" :data="jshaList" @selection-change="handleSelectionChange" <el-table border v-loading="loading" :data="jshaList" @selection-change="handleSelectionChange"
@row-click="handleRowClick" height="tableHeight" style="width: 100%"> @row-click="handleRowClick" height="tableHeight" style="width: 100%">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" align="center" prop="xh" width="120" show-overflow-tooltip fixed /> <el-table-column label="序号" align="center" prop="xh" width="120" show-overflow-tooltip fixed />
<el-table-column label="井号" align="center" prop="jh" width="120" show-overflow-tooltip fixed /> <el-table-column label="井号" align="center" prop="jh" width="120" show-overflow-tooltip fixed />
<el-table-column label="钻头序列号" align="center" prop="ztxlh" width="120" show-overflow-tooltip /> <el-table-column label="钻头序列号" align="center" prop="ztxlh" width="120" show-overflow-tooltip />
...@@ -59,12 +38,6 @@ ...@@ -59,12 +38,6 @@
<el-table-column label="喷嘴直径1号" align="center" prop="pz1" width="120" show-overflow-tooltip /> <el-table-column label="喷嘴直径1号" align="center" prop="pz1" width="120" show-overflow-tooltip />
<el-table-column label="喷嘴直径2号" align="center" prop="pz2" width="120" show-overflow-tooltip /> <el-table-column label="喷嘴直径2号" align="center" prop="pz2" width="120" show-overflow-tooltip />
<el-table-column label="喷嘴直径3号" align="center" prop="pz3" width="120" show-overflow-tooltip /> <el-table-column label="喷嘴直径3号" align="center" prop="pz3" width="120" show-overflow-tooltip />
<!-- <el-table-column label="喷嘴直径4号" align="center" prop="pz4" />
<el-table-column label="喷嘴直径5号" align="center" prop="pz5" />
<el-table-column label="喷嘴直径6号" align="center" prop="pz6" />
<el-table-column label="喷嘴直径7号" align="center" prop="pz7" />
<el-table-column label="喷嘴直径8号" align="center" prop="pz8" />
<el-table-column label="喷嘴直径9号" align="center" prop="pz9" />
<el-table-column label="喷嘴直径10号" align="center" prop="pz10" /> --> <el-table-column label="喷嘴直径10号" align="center" prop="pz10" /> -->
<el-table-column label="进尺工作时间合计" align="center" prop="jcsjhj" width="220" show-overflow-tooltip /> <el-table-column label="进尺工作时间合计" align="center" prop="jcsjhj" width="220" show-overflow-tooltip />
<el-table-column label="进尺工作时间纯钻进" align="center" prop="jcsjczj" width="220" <el-table-column label="进尺工作时间纯钻进" align="center" prop="jcsjczj" width="220"
...@@ -79,50 +52,7 @@ ...@@ -79,50 +52,7 @@
<el-table-column label="泵速" align="center" prop="bs" width="120" show-overflow-tooltip /> <el-table-column label="泵速" align="center" prop="bs" width="120" show-overflow-tooltip />
<el-table-column label="排量" align="center" prop="pl" width="120" show-overflow-tooltip /> <el-table-column label="排量" align="center" prop="pl" width="120" show-overflow-tooltip />
<el-table-column label="立管泵压" align="center" prop="lgby" width="120" show-overflow-tooltip /> <el-table-column label="立管泵压" align="center" prop="lgby" width="120" show-overflow-tooltip />
<!-- <el-table-column label="钻头压降" align="center" prop="ztyj" /> -->
<!-- <el-table-column label="环空压耗" align="center" prop="hkyh" />
<el-table-column label="冲击力" align="center" prop="cjl" />
<el-table-column label="喷射速度" align="center" prop="pssd" />
<el-table-column label="钻头水功率" align="center" prop="ztsgl" />
<el-table-column label="比水功率" align="center" prop="bsgl" />
<el-table-column label="上返速度钻杆" align="center" prop="sfsdzg" />
<el-table-column label="上返速度钻铤" align="center" prop="sfsdzt" />
<el-table-column label="功率利用率" align="center" prop="gllyl" />
<el-table-column label="牙齿磨损情况" align="center" prop="ycmsqk" />
<el-table-column label="轴承磨损情况" align="center" prop="zcmsqk" />
<el-table-column label="直径磨损情况" align="center" prop="zjmsqk" />
<el-table-column label="备注" align="center" prop="bz" />
<el-table-column label="内排齿" align="center" prop="npc" />
<el-table-column label="外排齿" align="center" prop="wpc" />
<el-table-column label="磨损特征" align="center" prop="mstz" />
<el-table-column label="位置" align="center" prop="wz" />
<el-table-column label="轴承/密封" align="center" prop="zc" />
<el-table-column label="直径" align="center" prop="zj" />
<el-table-column label="起钻原因" align="center" prop="qzyy" />
<el-table-column label="其他特征" align="center" prop="qttz" />
<el-table-column label="扭矩" align="center" prop="nj" />
<el-table-column label="钻盘总转数" align="center" prop="zpzzs" />
<el-table-column label="入井日期" align="center" prop="qsrq" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.qsrq, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="起出日期" align="center" prop="zzrq" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.zzrq, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="喷嘴类型" align="center" prop="pzlx" />
<el-table-column label="钻头价格" align="center" prop="ztjg" /> -->
<!-- <el-table-column label="操作" width="120" align="center" class-name="small-padding fixed-width"
property="operation" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:jsha:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:jsha:remove']">删除</el-button>
</template>
</el-table-column> -->
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
...@@ -145,440 +75,12 @@ ...@@ -145,440 +75,12 @@
</transition> </transition>
</div> </div>
<!-- 添加或修改钻头数据对话框 -->
<el-dialog :title="title" :visible.sync="open" width="70%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div v-loading="formLoading">
<div class="form-section">
<div class="section-title">基础信息</div>
<el-row>
<el-col :span="8">
<el-form-item label="序号" prop="xh">
<el-input v-model="form.xh" placeholder="请输入序号"
@input="(val) => handleNumberInput(val, 'xh')" maxlength="3"
:disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="井号" prop="jh">
<el-input v-model="form.jh" placeholder="请输入井号" :disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="尺寸" prop="cc">
<el-input v-model="form.cc" placeholder="请输入尺寸"
@input="(val) => handleDecimalInput(val, 'cc')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="钻进井段自" prop="qsjs">
<el-input v-model="form.qsjs" placeholder="请输入钻进井段自"
@input="(val) => handleDecimalInput(val, 'qsjs')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="钻进井段至" prop="zzjs">
<el-input v-model="form.zzjs" placeholder="请输入钻进井段至"
@input="(val) => handleDecimalInput(val, 'zzjs')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="进尺" prop="jc">
<el-input v-model="form.jc" placeholder="请输入进尺"
@input="(val) => handleDecimalInput(val, 'jc')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="机械钻速" prop="jxzs">
<el-input v-model="form.jxzs" placeholder="请输入机械钻速"
@input="(val) => handleDecimalInput(val, 'jxzs')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="厂家" prop="cj">
<el-input v-model="form.cj" placeholder="请输入厂家" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="类型" prop="lx">
<el-input v-model="form.lx" placeholder="请输入类型" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="入井新度" prop="rjxd">
<el-input v-model="form.rjxd" placeholder="请输入入井新度"
@input="(val) => handleDecimalInput(val, 'rjxd')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="出井新度" prop="cjxd">
<el-input v-model="form.cjxd" placeholder="请输入出井新度"
@input="(val) => handleDecimalInput(val, 'cjxd')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="喷嘴直径1号" prop="pz1">
<el-input v-model="form.pz1" placeholder="请输入喷嘴直径1号"
@input="(val) => handleDecimalInput(val, 'pz1')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="喷嘴直径2号" prop="pz2">
<el-input v-model="form.pz2" placeholder="请输入喷嘴直径2号"
@input="(val) => handleDecimalInput(val, 'pz2')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="喷嘴直径3号" prop="pz3">
<el-input v-model="form.pz3" placeholder="请输入喷嘴直径3号"
@input="(val) => handleDecimalInput(val, 'pz3')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="钻头序列号" prop="ztxlh">
<el-input v-model="form.ztxlh" placeholder="请输入钻头序列号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="钻头型号" prop="ztxh">
<el-input v-model="form.ztxh" placeholder="请输入钻头型号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所钻地层" prop="szdc">
<el-input v-model="form.szdc" placeholder="请输入所钻地层" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="IADC号" prop="iadc">
<el-input v-model="form.iadc" placeholder="请输入IADC号" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="下井次数" prop="xjcs">
<el-input v-model="form.xjcs" placeholder="请输入下井次数"
@input="(val) => handleNumberInput(val, 'xjcs')" maxlength="3" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工作时间合计" prop="jcsjhj">
<el-input v-model="form.jcsjhj" placeholder="请输入工作时间合计"
@input="(val) => handleDecimalInput(val, 'jcsjhj')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="纯钻进时间" prop="jcsjczj">
<el-input v-model="form.jcsjczj" placeholder="请输入纯钻进时间"
@input="(val) => handleDecimalInput(val, 'jcsjczj')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="起下钻时间" prop="jcsjqxz">
<el-input v-model="form.jcsjqxz" placeholder="请输入起下钻时间"
@input="(val) => handleDecimalInput(val, 'jcsjqxz')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="扩划眼时间" prop="jcsjkhy">
<el-input v-model="form.jcsjkhy" placeholder="请输入扩划眼时间"
@input="(val) => handleDecimalInput(val, 'jcsjkhy')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="钻压" prop="zy">
<el-input v-model="form.zy" placeholder="请输入钻压"
@input="(val) => handleNumberInput(val, 'zy')" maxlength="3" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="转速" prop="zs">
<el-input v-model="form.zs" placeholder="请输入转速"
@input="(val) => handleNumberInput(val, 'zs')" maxlength="3" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="缸径" prop="gj">
<el-input v-model="form.gj" placeholder="请输入缸径" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="泵速" prop="bs">
<el-input v-model="form.bs" placeholder="请输入泵速"
@input="(val) => handleNumberInput(val, 'bs')" maxlength="3" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="排量" prop="pl">
<el-input v-model="form.pl" placeholder="请输入排量" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="立管泵压" prop="lgby">
<el-input v-model="form.lgby" placeholder="请输入立管泵压"
@input="(val) => handleDecimalInput(val, 'lgby')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="钻头压降" prop="ztyj">
<el-input v-model="form.ztyj" placeholder="请输入钻头压降"
@input="(val) => handleDecimalInput(val, 'ztyj')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="环空压耗" prop="hkyh">
<el-input v-model="form.hkyh" placeholder="请输入环空压耗"
@input="(val) => handleDecimalInput(val, 'hkyh')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="冲击力" prop="cjl">
<el-input v-model="form.cjl" placeholder="请输入冲击力"
@input="(val) => handleDecimalInput(val, 'cjl')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="喷射速度" prop="pssd">
<el-input v-model="form.pssd" placeholder="请输入喷射速度"
@input="(val) => handleDecimalInput(val, 'pssd')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="钻头水功率" prop="ztsgl">
<el-input v-model="form.ztsgl" placeholder="请输入钻头水功率"
@input="(val) => handleDecimalInput(val, 'ztsgl')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="比水功率" prop="bsgl">
<el-input v-model="form.bsgl" placeholder="请输入比水功率"
@input="(val) => handleDecimalInput(val, 'bsgl')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="上返速度钻杆" prop="sfsdzg">
<el-input v-model="form.sfsdzg" placeholder="请输入上返速度钻杆"
@input="(val) => handleDecimalInput(val, 'sfsdzg')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="上返速度钻铤" prop="sfsdzt">
<el-input v-model="form.sfsdzt" placeholder="请输入上返速度钻铤"
@input="(val) => handleDecimalInput(val, 'sfsdzt')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="功率利用率" prop="gllyl">
<el-input v-model="form.gllyl" placeholder="请输入功率利用率"
@input="(val) => handleDecimalInput(val, 'gllyl')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="牙齿磨损" prop="ycmsqk">
<el-input v-model="form.ycmsqk" placeholder="请输入牙齿磨损" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="轴承磨损" prop="zcmsqk">
<el-input v-model="form.zcmsqk" placeholder="请输入轴承磨损" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="直径磨损" prop="zjmsqk">
<el-input v-model="form.zjmsqk" placeholder="请输入直径磨损" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备注" prop="bz">
<el-input v-model="form.bz" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="内排齿" prop="npc">
<el-input v-model="form.npc" placeholder="请输入内排齿" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="外排齿" prop="wpc">
<el-input v-model="form.wpc" placeholder="请输入外排齿" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="磨损特征" prop="mstz">
<el-input v-model="form.mstz" placeholder="请输入磨损特征" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="位置" prop="wz">
<el-input v-model="form.wz" placeholder="请输入位置" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="轴承/密封" prop="zc">
<el-input v-model="form.zc" placeholder="请输入轴承/密封" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="直径" prop="zj">
<el-input v-model="form.zj" placeholder="请输入直径" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="起钻原因" prop="qzyy">
<el-input v-model="form.qzyy" placeholder="请输入起钻原因" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="其他特征" prop="qttz">
<el-input v-model="form.qttz" placeholder="请输入其他特征" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="扭矩" prop="nj">
<el-input v-model="form.nj" placeholder="请输入扭矩"
@input="(val) => handleDecimalInput(val, 'nj')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="钻盘总转数" prop="zpzzs">
<el-input v-model="form.zpzzs" placeholder="请输入钻盘总转数"
@input="(val) => handleDecimalInput(val, 'zpzzs')" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="入井日期" prop="qsrq">
<el-date-picker clearable v-model="form.qsrq" type="date" value-format="yyyy-MM-dd"
placeholder="请选择入井日期" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="起出日期" prop="zzrq">
<el-date-picker clearable v-model="form.zzrq" type="date" value-format="yyyy-MM-dd"
placeholder="请选择起出日期" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="喷嘴类型" prop="pzlx">
<el-input v-model="form.pzlx" placeholder="请输入喷嘴类型" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="钻头价格" prop="ztjg">
<el-input v-model="form.ztjg" placeholder="请输入钻头价格"
@input="(val) => handleDecimalInput(val, 'ztjg')" />
</el-form-item>
</el-col>
</el-row>
</div>
<div class="form-section">
<div class="section-title">特征数据</div>
<el-row>
<el-col :span="8">
<el-form-item label="刀翼总数" prop="t01">
<el-select v-model="form.t01" placeholder="请选择刀翼总数" clearable style="width: 100%">
<el-option v-for="item in t01Options" :key="item.id"
:label="`${item.tzxl}(${item.tzdm})`" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="布齿密度" prop="t02">
<el-select v-model="form.t02" placeholder="请选择布齿密度" clearable style="width: 100%">
<el-option v-for="item in t02Options" :key="item.id"
:label="`${item.tzxl}(${item.tzdm})`" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="切削齿尺寸mm" prop="t03">
<el-select v-model="form.t03" placeholder="请选择切削齿尺寸" clearable style="width: 100%">
<el-option v-for="item in t03Options" :key="item.id"
:label="`${item.tzxl}(${item.tzdm})`" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="切削齿负前角°" prop="t04">
<el-select v-model="form.t04" placeholder="请选择切削齿负前角" clearable style="width: 100%">
<el-option v-for="item in t04Options" :key="item.id"
:label="`${item.tzxl}(${item.tzdm})`" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="冠部形状" prop="t05">
<el-select v-model="form.t05" placeholder="请选择冠部形状" clearable style="width: 100%">
<el-option v-for="item in t05Options" :key="item.id"
:label="`${item.tzxl}(${item.tzdm})`" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="保径" prop="t06">
<el-select v-model="form.t06" placeholder="请选择保径" clearable style="width: 100%">
<el-option v-for="item in t06Options" :key="item.id"
:label="`${item.tzxl}(${item.tzdm})`" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listJsha, getJsha, delJsha, addJsha, updateJsha } from "@/api/system/jsha"; import { listDjJsha,listJsha, getJsha, delJsha, addJsha, updateJsha } from "@/api/system/jsha";
import { getBlockName, getQkxl } from "@/api/system/jsaa"; import { getBlockName, getQkxl } from "@/api/system/jsaa";
import { listTzsj } from "@/api/system/jsha"; import { listTzsj } from "@/api/system/jsha";
...@@ -592,14 +94,22 @@ export default { ...@@ -592,14 +94,22 @@ export default {
jhs: { jhs: {
type: String, type: String,
default: '' default: ''
},
qk:{
type: String,
default: ''
},
ztcc:{
type: String,
default: ''
} }
}, },
data() { data() {
return { return {
// 区块下拉选项 // 区块下拉选项
blockOptions: [], blockOptions: [],
// 遮罩层 // 遮罩层 - 初始设置为false,避免页面加载时就显示加载动画
loading: true, loading: false,
// 选中数组 // 选中数组
ids: [], ids: [],
// 非单个禁用 // 非单个禁用
...@@ -618,11 +128,14 @@ export default { ...@@ -618,11 +128,14 @@ export default {
open: false, open: false,
// 是否为编辑操作 // 是否为编辑操作
isEdit: false, isEdit: false,
// 标记是否已经初始化过数据,避免重复加载
dataInitialized: false,
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 20, // 修改回默认每页显示20条 pageSize: 20, // 修改回默认每页显示20条
qk: null, qk: null,
ztcc:'',
jh: null, jh: null,
jhs: null, jhs: null,
wjrqks: null, wjrqks: null,
...@@ -736,8 +249,13 @@ export default { ...@@ -736,8 +249,13 @@ export default {
jh: { jh: {
handler(newJh) { handler(newJh) {
if (newJh) { if (newJh) {
this.queryParams.jh = newJh; this.queryParams.jh = String(newJh).trim();
// 添加错误处理
try {
this.getList(); this.getList();
} catch (error) {
console.error('监听jh变化时获取数据失败:', error);
}
} }
}, },
immediate: true immediate: true
...@@ -812,6 +330,9 @@ export default { ...@@ -812,6 +330,9 @@ export default {
getBlockOptions() { getBlockOptions() {
getQkxl().then(response => { getQkxl().then(response => {
this.blockOptions = response.data || []; this.blockOptions = response.data || [];
}).catch(error => {
console.error('获取区块选项失败:', error);
this.blockOptions = [];
}); });
}, },
/** 获取特征数据选项 */ /** 获取特征数据选项 */
...@@ -825,12 +346,23 @@ export default { ...@@ -825,12 +346,23 @@ export default {
{ type: "保径", target: "t06Options" } { type: "保径", target: "t06Options" }
]; ];
const promises = featureTypes.map(feature => const promises = featureTypes.map(feature => {
listTzsj({ tzdl: feature.type }).then(response => ({ // 确保参数是字符串类型
const params = {
tzdl: String(feature.type)
};
return listTzsj(params).then(response => ({
target: feature.target,
data: response.rows || []
})).catch(error => {
console.error(`获取特征数据失败 - ${feature.type}:`, error);
return {
target: feature.target, target: feature.target,
data: response.rows data: []
})) };
); });
});
Promise.all(promises) Promise.all(promises)
.then(results => { .then(results => {
...@@ -846,13 +378,27 @@ export default { ...@@ -846,13 +378,27 @@ export default {
/** 查询钻头数据列表 */ /** 查询钻头数据列表 */
getList() { getList() {
this.loading = true; this.loading = true;
const params = {
jhs: this.jhs // 确保参数类型正确,过滤掉空值
const params = {};
if (this.ztcc && this.ztcc.trim()) {
params.ztccs = String(this.ztcc).trim();
}
if (this.qk && this.qk.trim()) {
params.qk = String(this.qk).trim();
} }
console.log(params, 'params');
listJsha(params).then(response => { console.log('API参数:', params);
this.jshaList = response.rows;
this.total = response.total; listDjJsha(params).then(response => {
this.jshaList = response.rows || [];
this.total = response.total || 0;
this.loading = false;
}).catch(error => {
console.error('获取钻头数据失败:', error);
this.$modal.msgError("获取钻头数据失败");
this.loading = false; this.loading = false;
}); });
}, },
...@@ -1015,9 +561,12 @@ export default { ...@@ -1015,9 +561,12 @@ export default {
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/jshaPdc/export', { const exportParams = {
...this.queryParams // ...this.queryParams,
}, `jsha_${new Date().getTime()}.xlsx`) ztcc: this.ztcc,
qk: this.qk
};
this.download('system/jshaPdc/export', exportParams, `jsha_${new Date().getTime()}.xlsx`)
}, },
/** 处理行点击 */ /** 处理行点击 */
...@@ -1102,6 +651,11 @@ export default { ...@@ -1102,6 +651,11 @@ export default {
* 外部调用:加载数据 * 外部调用:加载数据
*/ */
loadData() { loadData() {
// 如果已经初始化过数据,则不再重复加载
if (this.dataInitialized) {
return;
}
this.dataInitialized = true;
this.getList(); this.getList();
} }
} }
......
...@@ -3,19 +3,15 @@ ...@@ -3,19 +3,15 @@
<div class="app-container"> <div class="app-container">
<el-tabs v-model="activeTab" type="card" @tab-click="handleTabClick" style="margin-top: -10px;"> <el-tabs v-model="activeTab" type="card" @tab-click="handleTabClick" style="margin-top: -10px;">
<el-tab-pane label="数据表格" name="dataTable"> <el-tab-pane label="数据表格" name="dataTable">
<DataTable ref="dataTableRef" :jh="queryParams.jh" :famc="queryParams.famc" :qk="queryParams.qk" <DataTable ref="dataTableRef" :jh="queryParams.jh" :famc="queryParams.famc" :qk="queryParams.qk" :ztcc="queryParams.ztcc"
:jhs="queryParams.jhs" /> :jhs="queryParams.jhs" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="曲线图形" name="curveGraph"> <el-tab-pane label="曲线图形" name="curveGraph">
<CurveGraph ref="curveGraphRef" :jh="queryParams.jh" :famc="queryParams.famc" :qk="queryParams.qk" <CurveGraph ref="curveGraphRef" :jh="queryParams.jh" :famc="queryParams.famc" :qk="queryParams.qk"
:jhs="queryParams.jhs" /> :jhs="queryParams.jhs" :zbid="queryParams.zbid" :ztcc="queryParams.ztcc" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="直方图形" name="histogramGraph">
<HistogramGraph ref="histogramGraphRef" :jh="queryParams.jh" :famc="queryParams.famc"
:qk="queryParams.qk" :jhs="queryParams.jhs" />
</el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</template> </template>
...@@ -23,14 +19,12 @@ ...@@ -23,14 +19,12 @@
<script> <script>
import DataTable from './components/DataTable.vue'; import DataTable from './components/DataTable.vue';
import CurveGraph from './components/CurveGraph.vue'; import CurveGraph from './components/CurveGraph.vue';
import HistogramGraph from './components/HistogramGraph.vue';
export default { export default {
name: "DjxxDetail", name: "DjxxDetail",
components: { components: {
DataTable, DataTable,
CurveGraph, CurveGraph,
HistogramGraph
}, },
data() { data() {
return { return {
...@@ -47,7 +41,9 @@ export default { ...@@ -47,7 +41,9 @@ export default {
jh: '', jh: '',
famc: '', famc: '',
qk: '', qk: '',
jhs: '' jhs: '',
ztcc:'',
zbid:''
}, },
// 标记是否是第一次进入页面 // 标记是否是第一次进入页面
isFirstLoad: true isFirstLoad: true
...@@ -56,22 +52,35 @@ export default { ...@@ -56,22 +52,35 @@ export default {
created() { created() {
// 获取路由参数 // 获取路由参数
console.log('详情页面created,完整路由对象:', this.$route); console.log('详情页面created,完整路由对象:', this.$route);
const { jh, famc, qk, jhs } = this.$route.params; const { jh, famc, qk, jhs ,ztcc,zbid} = this.$route.params;
console.log('路由参数:', { jh, famc, qk, jhs }); console.log('路由参数:', { jh, famc, qk, jhs,ztcc ,zbid});
// 检查参数是否为空或undefined // 检查参数是否为空或undefined
if (jh && jh !== 'undefined' && jh !== 'null') { // if (jh && jh !== 'undefined' && jh !== 'null') {
this.queryParams.jh = jh; this.queryParams.jh = jh;
this.queryParams.famc = famc || ''; this.queryParams.famc = famc || '';
this.queryParams.qk = qk || ''; this.queryParams.qk = qk || '';
this.queryParams.jhs = jhs || ''; this.queryParams.jhs = jhs || '';
this.queryParams.ztcc= ztcc||''
this.queryParams.zbid= zbid||''
console.log('设置 queryParams:', this.queryParams); console.log('设置 queryParams:', this.queryParams);
} else { // } else {
console.warn('未获取到有效的路由参数 jh,当前参数:', { jh, famc, qk, jhs }); // console.warn('未获取到有效的路由参数 jh,当前参数:', { jh, famc, qk, jhs,ztcc });
} // }
// 确保第一次进入页面时不会自动初始化组件 // 确保第一次进入页面时不会自动初始化组件
console.log('页面初始化完成,等待用户点击tab'); console.log('页面初始化完成,等待用户点击tab');
}, },
mounted() {
// 页面挂载后,延迟加载第一个tab的数据,避免立即显示加载动画
this.$nextTick(() => {
// 延迟一小段时间再加载数据,让页面先渲染完成
setTimeout(() => {
if (this.activeTab === 'dataTable') {
this.$refs.dataTableRef && this.$refs.dataTableRef.loadData && this.$refs.dataTableRef.loadData();
}
}, 100);
});
},
methods: { methods: {
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
...@@ -104,6 +113,8 @@ export default { ...@@ -104,6 +113,8 @@ export default {
console.log('切换到tab:', tab.name); console.log('切换到tab:', tab.name);
// 标记已经不是第一次加载 // 标记已经不是第一次加载
this.isFirstLoad = false; this.isFirstLoad = false;
// 只有在用户主动点击tab时才加载数据,避免初始化时的自动加载
if (tab.name === 'dataTable') { if (tab.name === 'dataTable') {
this.$refs.dataTableRef && this.$refs.dataTableRef.loadData && this.$refs.dataTableRef.loadData(); this.$refs.dataTableRef && this.$refs.dataTableRef.loadData && this.$refs.dataTableRef.loadData();
} else if (tab.name === 'curveGraph') { } else if (tab.name === 'curveGraph') {
......
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
v-if="item && item.qk" /> v-if="item && item.qk" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="钻头信息"> <el-form-item label="钻头尺寸">
<el-input v-model="searchForm.ztxx" placeholder="请输入钻头信息" clearable></el-input> <el-input v-model="searchForm.ztcc" placeholder="请输入钻头信息" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="getList">搜索</el-button> <el-button type="primary" @click="getList">搜索</el-button>
...@@ -24,8 +24,11 @@ ...@@ -24,8 +24,11 @@
<!-- 表格区域 --> <!-- 表格区域 -->
<el-table :data="tableData" border stripe v-loading="loading" style="width: 100%; height: calc(100vh - 230px)"> <el-table :data="tableData" border stripe v-loading="loading" style="width: 100%; height: calc(100vh - 230px)">
<el-table-column prop="qk" label="区块" min-width="120"></el-table-column> <el-table-column prop="qk" label="区块" min-width="120"></el-table-column>
<el-table-column prop="ztxx" label="钻头信息" min-width="150"></el-table-column> <el-table-column prop="famc" label="方案名称" min-width="200" align="center" show-overflow-tooltip sortable />
<el-table-column prop="ztcc" label="钻头尺寸" min-width="150"></el-table-column>
<el-table-column prop="dc" label="地层" min-width="150"></el-table-column> <el-table-column prop="dc" label="地层" min-width="150"></el-table-column>
<el-table-column prop="yxzt" label="优选钻头" min-width="200" align="center" show-overflow-tooltip sortable />
<el-table-column prop="bz" label="备注" min-width="200" show-overflow-tooltip></el-table-column> <el-table-column prop="bz" label="备注" min-width="200" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="150" fixed="right"> <el-table-column label="操作" width="150" fixed="right">
<template #default="scope"> <template #default="scope">
...@@ -46,21 +49,26 @@ ...@@ -46,21 +49,26 @@
<!-- 新增/编辑对话框 --> <!-- 新增/编辑对话框 -->
<el-dialog :title="dialogTitle" width="600px" :close-on-click-modal="false" :visible.sync="dialogVisible"> <el-dialog :title="dialogTitle" width="600px" :close-on-click-modal="false" :visible.sync="dialogVisible">
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="100px"> <el-form ref="formRef" :model="formData" :rules="formRules" label-width="100px">
<el-form-item label="方案名称" prop="famc">
<el-input v-model="formData.famc" placeholder="请输入方案名称" />
</el-form-item>
<el-form-item label="区块" prop="qk"> <el-form-item label="区块" prop="qk">
<el-select v-model="formData.qk" placeholder="请选择区块名称" clearable filterable style="width: 100%;"> <el-select v-model="formData.qk" placeholder="请选择区块名称" clearable filterable style="width: 100%;">
<el-option v-for="item in blockOptions" :key="item.qk" :label="item.qk" :value="item.qk" <el-option v-for="item in blockOptions" :key="item.qk" :label="item.qk" :value="item.qk"
v-if="item && item.qk" style="width: 100%;" /> v-if="item && item.qk" style="width: 100%;" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="钻头信息" prop="ztxx"> <el-form-item label="钻头尺寸" prop="ztcc">
<el-select v-model="formData.ztxx" multiple filterable allow-create default-first-option <el-select v-model="formData.ztcc" multiple filterable allow-create default-first-option
placeholder="请选择或输入钻头尺寸" style="width: 100%"> placeholder="请选择或输入钻头尺寸" style="width: 100%" :loading="ztxxLoading">
<el-option v-for="item in ztxxOptions" :key="item.value" :label="item.label" <el-option v-for="item in ztxxOptions" :key="item.value" :label="item.label"
:value="item.value" /> :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="层位" prop="cw"> <el-form-item label="层位" prop="cw">
<el-input v-if="!showCascader" v-model="formData.cw" readonly style="width: 100%;"> <el-input v-if="!showCascader" v-model="formData.cw" readonly style="width: 100%;">
<template slot="append"> <template slot="append">
...@@ -90,6 +98,7 @@ ...@@ -90,6 +98,7 @@
<script> <script>
import { getQkxl } from "@/api/system/jsaa"; import { getQkxl } from "@/api/system/jsaa";
import { getMdcByQkid } from "@/api/scientificDrill/schemeOptimization"; import { getMdcByQkid } from "@/api/scientificDrill/schemeOptimization";
import { selectZtccList, listDjzt, getDjzt, addDjzt, updateDjzt, delDjzt } from "@/api/system/djzt";
export default { export default {
name: 'DjztIndex', name: 'DjztIndex',
data() { data() {
...@@ -111,7 +120,7 @@ export default { ...@@ -111,7 +120,7 @@ export default {
// 搜索表单 // 搜索表单
searchForm: { searchForm: {
qk: '', qk: '',
ztxx: '' ztcc: ''
}, },
// 表格数据 // 表格数据
tableData: [], tableData: [],
...@@ -130,8 +139,11 @@ export default { ...@@ -130,8 +139,11 @@ export default {
formData: { formData: {
id: null, id: null,
qk: '', qk: '',
ztxx: [], ztcc: [],
dc: [], cw: '', // 层位信息
cwid: null, // 层位ID
mdcid: null, // 目的层ID
dzsdmc: '', // 地质时代名称
bz: '' bz: ''
}, },
// 表单验证规则 // 表单验证规则
...@@ -141,18 +153,14 @@ export default { ...@@ -141,18 +153,14 @@ export default {
] ]
}, },
// 钻头信息选项 // 钻头信息选项
ztxxOptions: [ ztxxOptions: [],
{ label: '8-1/2"', value: '8-1/2"' }, // 钻头信息加载状态
{ label: '9-5/8"', value: '9-5/8"' }, ztxxLoading: false,
{ label: '12-1/4"', value: '12-1/4"' },
{ label: '17-1/2"', value: '17-1/2"' },
{ label: '26"', value: '26"' }
],
} }
}, },
created() { created() {
this.getBlockOptions(); this.getBlockOptions();
this.getZtxxOptions();
this.getList(); this.getList();
}, },
mounted() { mounted() {
...@@ -160,15 +168,18 @@ export default { ...@@ -160,15 +168,18 @@ export default {
}, },
methods: { methods: {
/** 查看按钮操作 */ /** 查看按钮操作 */
handleView(row) { async handleView(row) {
console.log('查看按钮点击,行数据:', row); try {
const res = await getDjzt(row.id)
console.log(res,55555);
if (res.code === 200) {
// 将获取到的详细信息传递给详情页面
const params = { const params = {
jh: row.jh || '', jh: res.data.jh || row.jh || '',
famc: row.famc || '', ztcc: row.ztcc || '',
qk: row.qk || '', qk: res.data.qk || row.qk || '',
jhs: row.jhs || '' zbid: res.data.id || row.id || '',
}; };
console.log('准备传递的参数:', params);
this.$router.push({ this.$router.push({
name: 'DjztDetail', name: 'DjztDetail',
...@@ -178,6 +189,13 @@ export default { ...@@ -178,6 +189,13 @@ export default {
}).catch(err => { }).catch(err => {
console.error('路由跳转失败:', err); console.error('路由跳转失败:', err);
}); });
} else {
this.$message.error(res.msg || '获取详情失败')
}
} catch (error) {
console.error('获取详情失败:', error)
this.$message.error('获取详情失败')
}
}, },
/** 初始化目的层选项 */ /** 初始化目的层选项 */
initMdcOptions() { initMdcOptions() {
...@@ -363,44 +381,47 @@ export default { ...@@ -363,44 +381,47 @@ export default {
resolve([]); resolve([]);
}); });
}, },
/** 获取钻头信息下拉选项 */
getZtxxOptions() {
this.ztxxLoading = true; // 开始加载
selectZtccList().then(response => {
console.log(response,22222);
if (response.code === 200 && response.data && Array.isArray(response.data)) {
this.ztxxOptions = response.data.map(item => ({
value: item,
label: item
}))
}
}).catch(error => {
console.error('获取钻头信息选项失败:', error)
this.ztxxOptions = []
}).finally(() => {
this.ztxxLoading = false; // 加载完成
});
},
// 获取表格数据 // 获取表格数据
async getTableData() { async getTableData() {
this.loading = true this.loading = true
try { try {
// 模拟API调用
const params = { const params = {
page: this.pagination.currentPage, pageNum: this.pagination.currentPage,
pageSize: this.pagination.pageSize, pageSize: this.pagination.pageSize,
...this.searchForm ...this.searchForm
} }
// 这里应该调用实际的API const res = await listDjzt(params)
// const res = await this.$api.getDjztList(params)
// 模拟数据 if (res.code === 200) {
setTimeout(() => { this.tableData = res.rows || []
this.tableData = [ this.pagination.total = res.total || 0
{ } else {
id: 1, this.$message.error(res.msg || '获取数据失败')
qk: 'XX',
ztxx: ['8-1/2"', '9-5/8"'],
dc: ['第四系', '新近系'],
bz: '测试数据1'
},
{
id: 2,
qk: 'aaaXX',
ztxx: ['12-1/4"'],
dc: ['白垩系', '侏罗系'],
bz: '测试数据2'
} }
]
this.pagination.total = 2
this.loading = false
}, 500)
} catch (error) { } catch (error) {
this.loading = false console.error('获取数据失败:', error)
this.$message.error('获取数据失败') this.$message.error('获取数据失败')
} finally {
this.loading = false
} }
}, },
/** 获取区块下拉选项 */ /** 获取区块下拉选项 */
...@@ -421,12 +442,13 @@ export default { ...@@ -421,12 +442,13 @@ export default {
resetSearch() { resetSearch() {
this.searchForm = { this.searchForm = {
qk: '', qk: '',
ztxx: '' ztcc: ''
} }
this.getList() this.getList()
this.resetForm("formData"); this.resetForm("formData");
this.showCascader = false; this.showCascader = false;
this.cascaderValue = []; // 重置 cascaderValue this.cascaderValue = []; // 重置 cascaderValue
this.getZtxxOptions(); // 重新获取钻头信息选项
}, },
// 新增 // 新增
...@@ -435,8 +457,11 @@ export default { ...@@ -435,8 +457,11 @@ export default {
this.formData = { this.formData = {
id: null, id: null,
qk: '', qk: '',
ztxx: [], ztcc: [],
dc: [], cw: '', // 层位信息
cwid: null, // 层位ID
mdcid: null, // 目的层ID
dzsdmc: '', // 地质时代名称
bz: '' bz: ''
} }
this.dialogVisible = true this.dialogVisible = true
...@@ -448,9 +473,13 @@ export default { ...@@ -448,9 +473,13 @@ export default {
this.formData = { this.formData = {
id: row.id, id: row.id,
qk: row.qk, qk: row.qk,
ztxx: Array.isArray(row.ztxx) ? row.ztxx : [row.ztxx], ztcc: Array.isArray(row.ztcc) ? row.ztcc : (row.ztcc ? row.ztcc.split(',') : []),
dc: Array.isArray(row.dc) ? row.dc : [row.dc], cw: row.cw || row.dc || '', // 层位信息
bz: row.bz cwid: row.cwid || null, // 层位ID
mdcid: row.mdcid || null, // 目的层ID
dzsdmc: row.dzsdmc || '', // 地质时代名称
bz: row.bz,
famc:row.famc
} }
this.dialogVisible = true this.dialogVisible = true
}, },
...@@ -463,12 +492,16 @@ export default { ...@@ -463,12 +492,16 @@ export default {
type: 'warning' type: 'warning'
}).then(async () => { }).then(async () => {
try { try {
// 这里应该调用实际的删除API const res = await delDjzt(row.id)
// await this.$api.deleteDjzt(row.id)
if (res.code === 200) {
this.$message.success('删除成功') this.$message.success('删除成功')
this.getTableData() this.getTableData()
} else {
this.$message.error(res.msg || '删除失败')
}
} catch (error) { } catch (error) {
console.error('删除失败:', error)
this.$message.error('删除失败') this.$message.error('删除失败')
} }
}).catch(() => { }) }).catch(() => { })
...@@ -480,21 +513,34 @@ export default { ...@@ -480,21 +513,34 @@ export default {
await this.$refs.formRef.validate() await this.$refs.formRef.validate()
this.submitLoading = true this.submitLoading = true
// 这里应该调用实际的保存API // 准备提交数据,将数组转换为字符串
// const api = this.formData.id ? this.$api.updateDjzt : this.$api.addDjzt const submitData = {
// await api(this.formData) ...this.formData,
ztcc: Array.isArray(this.formData.ztcc) ? this.formData.ztcc.join(',') : this.formData.ztcc,
dc: this.formData.cw || '', // 使用层位信息作为地层
cw: this.formData.cw || '', // 保留层位信息
cwid: this.formData.cwid || null,
mdcid: this.formData.mdcid || null,
dzsdmc: this.formData.dzsdmc || ''
}
const api = this.formData.id ? updateDjzt : addDjzt
const res = await api(submitData)
setTimeout(() => { if (res.code === 200) {
this.$message.success(this.formData.id ? '更新成功' : '新增成功') this.$message.success(this.formData.id ? '更新成功' : '新增成功')
this.dialogVisible = false this.dialogVisible = false
this.getTableData() this.getTableData()
this.submitLoading = false } else {
}, 500) this.$message.error(res.msg || '操作失败')
}
} catch (error) { } catch (error) {
this.submitLoading = false console.error('操作失败:', error)
if (error !== false) { if (error !== false) {
this.$message.error('操作失败') this.$message.error('操作失败')
} }
} finally {
this.submitLoading = false
} }
}, },
...@@ -508,6 +554,13 @@ export default { ...@@ -508,6 +554,13 @@ export default {
handleCurrentChange(val) { handleCurrentChange(val) {
this.pagination.currentPage = val this.pagination.currentPage = val
this.getTableData() this.getTableData()
},
// 表单重置
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
} }
} }
} }
......
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