| | |
| | | <el-col v-show="baogaoqian"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="150"> |
| | |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event, $index)" @focus="handleFocus(row)" |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event,index,$index)" @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" @input="vale"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-col :span="18" v-show="baogaohou"> |
| | | <template> |
| | | <el-tabs v-model="radio" type="border-card" @tab-click="handleTabClick" style="margin-left: 10px"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index"> |
| | | <el-tab-pane :label="item.proName" :name="item.proId" v-for="(item, index) in Parent" :key="index" :lazy="false"> |
| | | <el-table class="bgc" v-loading="loading" :data="proParentList.sons" border height="460px" |
| | | style="width: 96%; margin: 10px 10px" :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="project.proName" label="检测项目" width="100"> |
| | |
| | | <el-table-column prop="proResult" label="检测结果" width="150"> |
| | | <!-- slot-scope="scope" --> |
| | | <template slot-scope="{ row, $index }"> |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event, $index)" @focus="handleFocus(row)" |
| | | <el-input type="textarea" autosize size="mini" v-model="row.proResult" :ref="`input-item${index}-row${$index}`" |
| | | @keydown.enter.native="keyInputConfirm($event,index,$index)" @focus="handleFocus(row)" |
| | | @blur="handleInputConfirm(row)" ></el-input> |
| | | <!-- @input="vale" --> |
| | | <!-- <el-input type="textarea" autosize size="mini" v-model="scope.row.proResult" autocomplete="off" :ref="`input-${scope.$index}-${scope.row.proResult}`" |
| | |
| | | this.inputDoms = inputDoms |
| | | // console.log(this.inputDoms) |
| | | }, |
| | | keyInputConfirm(event, currentRowIndex) { |
| | | keyInputConfirm(event,index, currentRowIndex) { |
| | | // 阻止默认回车行为,比如提交表单 |
| | | event.preventDefault(); |
| | | event.stopPropagation() |
| | | const nextRowIndex = currentRowIndex + 1; // 计算下一行索引 |
| | | |
| | | // 如果下一行存在,则聚焦该行的输入框 |
| | | if (nextRowIndex < this.proParentList.sons.length) { |
| | | this.$nextTick(() => { |
| | | const nextInputRef = `input-${nextRowIndex}`; |
| | | const nextInputRef = `input-item${index}-row${nextRowIndex}`; |
| | | const nextInput = this.$refs[nextInputRef]; |
| | | if (nextInput) { |
| | | // 处理 ref 可能为数组的情况(如动态渲染) |