element编辑回显的时候,第二个的下拉框数据,需要根据第一个
2022-10-20 本文已影响0人
jesse28
1.编辑回显的时候,第二个的下拉框数据,需要根据第一个下拉框选中的值去调用接口,这个时候就要考虑调用接口顺序的问题,异步的问题。
created() {
this.init();
// 获取类别列表
this.getTypeIdArr();
if (this.id) {
this.getInfo();//
}
},
async getInfo() {
this.editArr = await this.handleNewInfo();//调用查看接口----先拿到考核部门id,然后在用这个id去调用考核人员数组
await this.handleNewUser(); //获取考核人员
await this.handleNewProject(); //获取考核项目
},
handleNewInfo() {
return new Promise((resolve, reject) => {
scAssessmentAppraisalFindApi({ id: this.id }).then((res) => {
this.ruleForm.assessmentSubject = res.data.assessmentSubject;//考核主体
this.ruleForm.orgId = res.data.orgId;//考核部门id
this.ruleForm.orgName = res.data.orgName;//考核部门名称
this.ruleForm.typeId = res.data.typeId//考核类别id
this.ruleForm.typeName = res.data.typeName//考核类别名称
this.ruleForm.reviewRate = res.data.reviewRate//考核频次
this.ruleForm.userName = res.data.userName//考核人员
this.ruleForm.month = res.data.month//月份
this.ruleForm.year = res.data.year//年份
this.ruleForm.attachment = res.data.attachment//附件
this.ruleForm.tableData = JSON.parse(res.data.detailJson)//表格
this.ruleForm.remark = res.data.remark;
resolve(res.data);
});
});
},
handleNewUser() {
return new Promise((resolve, reject) => {
sysAccountQueryUserList({
orgId: this.ruleForm.orgId,
pageNum: 1,
pageSize: 9999999,
personnelType: "",
}).then((res) => {
this.userIdArr = (res && res.data && res.data.list) || [];
this.ruleForm.userId = this.editArr.userId.split(","); //赋值考核人员
resolve();
});
});
},