代码实现

前端:

<template><div><el-form ref="form" :model="form" label-width="100px" inline>  <el-form-item label="名字">    <el-input v-model="name" style="width: 200px;" size="mini"></el-input>  </el-form-item>  <el-form-item>    <el-button @click="queryByName" type="primary" size="mini" icon="el-icon-search">搜寻</el-button>    <el-button @click="add" size="mini" type="primary">增加<i class="el-icon-upload el-icon--right"></i></el-button>  </el-form-item></el-form><el-table v-loading="loading" @expand-change="rowExpand" :data="tableData" border style="width: 100%;margin-bottom: 20px;"  height="300">  <el-table-column type="expand" prop="">    <template slot-scope="">      <el-table :data="orderDetailData">        <el-table-column prop="develop" label="职位" width="244" />        <el-table-column prop="salary" label="薪水" width="244" />        <el-table-column prop="yearsWorking" label="工作年限" width="244" />        <el-table-column prop="edit" label="编辑" width="244" />        <el-table-column prop="view" label="视图" width="230">          <el-switch v-model="value" active-color="#13ce66" inactive-color="#13ce66">          </el-switch>        </el-table-column>      </el-table>    </template>  </el-table-column>  <el-table-column prop="id" label="ID" width="150" v-if="false">  </el-table-column>  <el-table-column prop="demoName" label="姓名">  </el-table-column>  <el-table-column prop="age" label="年龄">  </el-table-column>  <el-table-column prop="address" label="地址">  </el-table-column>  <el-table-column prop="supplierTel" label="操作">    <template slot-scope="scope">      <span>        <el-button type="primary" @click="handleEdit(scope.row)" size="small">编辑</el-button>        <el-button type="danger" @click="handleDeleteFile(scope.row)" size="small" plain>删除</el-button>      </span>    </template>  </el-table-column>  <el-table-column prop="view" label="视图">    <el-switch v-model="value" active-color="#13ce66" inactive-color="#13ce66">    </el-switch>  </el-table-column></el-table><el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"  :page-sizes="pageSizes" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalRows"></el-pagination><!--新增弹窗--><el-dialog title="编辑信息" :visible.sync="dialogVisible" width="30%">  <el-form ref="form" :model="form" label-width="100px">    <el-form-item label="姓名">      <el-input v-model="form.demoName" style="width: 200px;"></el-input>    </el-form-item>    <el-form-item label="年龄">      <el-input v-model="form.age" style="width: 200px;"></el-input>    </el-form-item>    <el-form-item label="地址">      <el-input v-model="form.address" style="width: 200px;"></el-input>    </el-form-item>    <el-form-item>      <el-button type="primary" @click="handleSave()">保留</el-button>      <el-button @click="dialogVisible = false">取 消</el-button>    </el-form-item>  </el-form></el-dialog><!-- <el-table-column type="expand" prop="">  <template slot-scope="">    <el-table :data="tableDataT" border style="width: 100%;margin-bottom: 20px;" height="300">      <el-table-column prop="id" label="ID" width="150" v-if="false">      </el-table-column>      <el-table-column prop="develop" label="职位">      </el-table-column>      <el-table-column prop="salary" label="薪水">      </el-table-column>      <el-table-column prop="yearsWorking" label="工作年限">      </el-table-column>      <el-table-column prop="viewT" label="视图">        <el-switch v-model="valueT" active-color="#13ce66" inactive-color="#ff4949">        </el-switch>      </el-table-column>    </el-table>  </template></el-table-column> --></div></template><script>import axios from '@/axios';export default {data() {  return {    form: {      id: '',      demoName: '',      age: '',      address: '',    },    orderDetailData: [{      develop : '',      salary : '',      yearsWorking : ''    }],    tableData: [],    currentPage: 1,    totalRows: 0,    pageSizes: [10, 20, 30, 40],    pageSize: 10,    dialogVisible: false,    name: '',  }},mounted() {  this.getDetailedByRequireNo();},methods: {  // 行开展实现  rowExpand(row, expandeRows) {    console.log('点开了' + row.demoClass)    var url = 'TWangZhaoHuiDemo/selectClass.do'    var parm = {      demoClass: row.demoClass    }    axios.get(url, parm).then(response => {      if (response.data.code == '0') {        this.orderDetailData = response.data.data        console.log(response.data.data)        // console.log(response.data.data.list)        // console.log(response.data.list)        // // this.orderDetailData.develop=response.data.data.develop        // // this.orderDetailData = response.data.data.salary        // // this.orderDetailData = response.data.data.yearsWorking        // console.log(this.orderDetailData)        // console.log(response.data.data.develop)        // console.log(response.data.data.develop)        // console.log(response.data.data.salary)        // console.log(response.data.data.yearsWorking)      } else {        this.$message({          type: 'error',          message: '操作失败!' + response.data.msg        });      }    })  },  //页面加载全副  getDetailedByRequireNo() {    var url = 'TWangZhaoHuiDemo/findAll.do'    var param = {      page: this.currentPage,      rows: this.pageSize,    }    axios.get(url, param).then(response => {      if (response.data.code == '0') {        this.tableData = response.data.data.list        console.log(response.data.data.list)        this.totalRows = response.data.data.total      } else {        this.$message({          type: 'error',          message: '操作失败!' + response.data.msg        });      }    });  },  //新增弹窗11  add() {    this.dialogVisible = true    this.queryPrimaryKey()  },  //获取主键ID  queryPrimaryKey() {    var url = 'Common/queryPrimaryKey.do'    var param = {}    axios.get(url, param).then(response => {      if (response.data.code == '0') {        this.form.id = response.data.data //设置主键ID进行保留      } else {        this.$message({          type: 'error',          message: '查问失败' + response.data.msg        });      }    });  },  //保留按钮  handleSave() {    var url = 'TWangZhaoHuiDemo/save.do'    var param = {      json: JSON.stringify(this.form)    }    axios.post(url, param).then(response => {      if (response.data.code == '0') {        this.$message({          type: 'success',          message: '保留胜利!',        });        this.form = {          id: '',          demoName: '',          age: '',          adrress: '',        }        this.dialogVisible = false        this.getDetailedByRequireNo()      } else {        this.$message({          type: 'error',          message: '保留失败!' + response.data.msg        });      }    });  },  //编辑按钮,点击显示编辑页面  handleEdit(row) {    this.dialogVisible = true //显示内容    this.form = row  },  //删除  handleDeleteFile(row) {    this.$confirm('此操作将删除该数据, 是否持续?', '提醒', {      confirmButtonText: '确定',      cancelButtonText: '勾销',      type: 'warning'    }).then(() => {      var url = 'TWangZhaoHuiDemo/remove.do'      var param = {        id: row.id      }      axios.post(url, param).then(response => {        if (response.data.code == '0') {          this.$message({            type: 'success',            message: '删除胜利!',          });          this.getDetailedByRequireNo()        } else {          this.$message({            type: 'error',            message: '删除失败!' + response.data.msg          });        }      });    }).catch(() => {      this.$message({        type: 'info',        message: '已勾销删除'      });    });  },  //查问性能  queryByName() {    var url = 'TWangZhaoHuiDemo/queryByName.do'    var param = {      name: this.name,    }    axios.get(url, param).then(response => {      if (response.data.code == '0') {        console.log("111111111111111111111")        console.log(response.data.data)        this.tableData = response.data.data      } else {        this.$message({          type: 'error',          message: '操作失败!' + response.data.msg        });      }    });  },  onSupplier() {    this.dialogVisibleSupplier = true    this.getDetailedByRequireNoSupplier()  },  getDetailedByRequireNoSupplier() {    var url = 'InformationSupplier/queryObject.do'    var param = {      page: this.currentPageSupplier,      rows: this.pageSizeSupplier,    }    axios.get(url, param).then(response => {      if (response.data.code == '0') {        this.tableDataSupplier = response.data.data.list        this.totalRowsSupplier = response.data.data.total      } else {        this.$message({          type: 'error',          message: '操作失败!' + response.data.msg        });      }    });  },  seletion(row) {    this.form.tInformationSupplier.id = row.id    this.form.tInformationSupplier.supplierCode = row.supplierCode    this.form.tInformationSupplier.supplierName = row.supplierName    this.form.tInformationSupplier.supplierAddress = row.supplierAddress    this.form.tInformationSupplier.supplierTel = row.supplierTel    this.form.supplierId = row.id    this.form.supplierName = row.supplierName    this.dialogVisibleSupplier = false  },  // 批改每页行数  handleSizeChange(val) {    this.pageSizeDtl = val    this.getTableDataDtl()  },  // 批改当前页事件  handleCurrentChange(val) {    this.currentPageDtl = val    this.getTableDataDtl()  },}};</script><style></style>

全副代码...后盾本人实现

sql :

<!--依据class关联查问--><select id="selectClass" resultMap="resultMap">     select tt.develop,tt.salary,tt.years_working     from t_wangzhaohui_demo as t left join t_wangzhaohui_demo_T as tt on t.demo_class = tt.demo_class_t     where t.demo_class = #{demoClass} and t.cancel_status = 1</select>