1.多选后未保存到后端,div进行多选后数组的v-for循环,属性为:
v-for="(item, index) in welderSelected"
:key="index"
定义数组:
welderSelected: [], // 被选中的考生
多选确定方法中
// 考生多选确定按钮
SureExaminee(data) {
this.welderSelected = data;
// const that = this 其实就是将当前的this对象复制一份 给 that变量 中
for (const one of this.welderSelected) {
one.examineeProjectCode = this.examineeProjectCode;
}
this.SelectExamineeVisible = false;
},
2.每一区块再次增加单选新数据时,保存到数据库,显示单选页面按钮属性为:
@click="addProjectcode(item, index)"
定义currentIndex:
currentIndex: 0,
在显示单选按钮方法(addProjectcode(item, index))中:写明
this.currentIndex = index;
3.后端写查询方法:查询到某一块该有的数据list
<!-- 根据id查找:____显示新增表单里每个人的新增表单-->
<select id="findInsertListById" parameterType="java.lang.Long" resultMap="InsertResultMap">
SELECT wm.projectcode,wm.weldmethod,wm.cerunit,wm.types,ee.id,ee.entrust_id,ee.welderid,ee.project_code_id,ee.exam_type,ee.exam_amount,ee.haf_exam_form,ee.fun_welding_record,ee.fun_eyesight,ee.fun_exam_form,ee.tsg_special_attachment,ee.tsg_welding_record,ee.tsg_exam_form,ee.diploma,ee.medical_report,ee.img_url,ee.identity_card
FROM exam_examinee ee
LEFT JOIN WeldMethodBaseInfo wm ON ee.project_code_id = wm.id
WHERE ee.welderid = #{welderid,jdbcType=BIGINT} AND ee.entrust_id=#{entrustId,jdbcType=BIGINT}
</select>
4.返回前端,写方法,定义数组List:
examineeProjectCode: [
{
id: null,
welderid: null,
entrustId: null,
projectcode: null,
examType: null
}
],
方法中将res.data 赋值给 welderSelected[[this.currentIndex].examineeProjectCode
this.welderSelected[this.currentIndex].examineeProjectCode = res.data ? res.data : [];
方法全部如下:
// 根据id查找:____显示新增表单里每个人的新增表单
welderProjectShow() {
this.$api.examExaminee
.findInsertListById(
this.selectedProjectCodeList.welderid,
this.selectedProjectCodeList.entrustId
)
.then(res => {
if (res.code == 200) {
this.welderSelected[
this.currentIndex
].examineeProjectCode = res.data ? res.data : [];
this.refreshKey = Math.random(); // 这个很重要,table检测到key发生变化,回去更新table
}
});
}
},
5.写table基本格式,table属性为:
:data="item.examineeProjectCode"
:key="refreshKey"
定义refreshKey:
refreshKey: 1,
显示表单时将refresh赋值为随机数,table检测到key发生变化,就回去更新table
this.refreshKey = Math.random(); // 这个很重要,table检测到key发生变化,回去更新table