<u-form-item :label-position="labelPosition" label="作业风险分析" label-width="170" prop="jobRiskAnalysis" required>
<view class="work__flex">
<u-input :border="border" placeholder="作业风险分析" v-model="task.jobRiskAnalysis" type="text" @click="show = true;">
</u-input>
</view>
</u-form-item>
<u-popup mode="bottom" v-model="show">
<view class="popup__support">
<view class="popup__check__group">
<u-checkbox-group wrap='true' @change="checkboxGroupChange1">
<u-checkbox v-model="item.checked"
v-for="(item, index) in jobRiskAnalysisList" :key="index" :name="item.name"
:value="item.value" shape="circle" class="popup__support__center">
<view class="popup__check__support">
{{item.name}}
</view>
</u-checkbox>
</u-checkbox-group>
</view>
<view class="popup__support__btn">
<u-button @click="resetPopupChecked">重置</u-button>
<u-button @click="checkedAll" type="success">确定</u-button>
</view>
</view>
</u-popup>
js代码:
async checkboxGroupChange1(e) {
console.log(e);
let promises = [];
this.jobRiskAnalysisCheckedIds = "";
let jobRiskAnalysisCheckedList = []; // 如果未使用,可以移除
let allJobRiskAnalysisList = [];
let self = this;
let url = "/nmeqit/v1/worksafetyinfo/selectjobRiskControlMeasures";
for (let i = 0; i < self.jobRiskAnalysisList.length; i++) { // 使用 let 而不是 var
if (self.jobRiskAnalysisList[i].checked) {
promises.push(self.$u.post(url, {
methodId: self.jobRiskAnalysisList[i].value
}).then(result => {
if (result.data.length > 0) {
console.log("返回需要添加到列表中的项:", self.jobRiskAnalysisList[i]);
return self.jobRiskAnalysisList[i];
}else{
self.jobRiskAnalysisList[i].checked=false;
this.$refs.uToast.show({
title: '当前选择的风险分析没有维护作业风险控制措施,请到管理系统中维护',
type: 'success'
})
}
}).catch(error => {
console.error("请求失败:", error);
// 你可以选择在这里处理错误,比如返回一个 null 或特殊值
}));
}
}
let results = await Promise.all(promises);
allJobRiskAnalysisList = results.filter(item => item !== undefined); // 实际上可能不需要,因为每个 promise 都应该解决了
console.log(allJobRiskAnalysisList);
for(let i=0;i<allJobRiskAnalysisList.length;i++){
this.jobRiskAnalysisCheckedIds += allJobRiskAnalysisList[i].value + "," ;
}
//去掉最后一个逗号(如果不需要去掉,就不用写)
if (this.jobRiskAnalysisCheckedIds.length > 0) {
this. jobRiskAnalysisCheckedIds = this.jobRiskAnalysisCheckedIds.substr(0, this.jobRiskAnalysisCheckedIds.length - 1);
//根据选择的作业风险查询作业风险控制措施
this.selectjobRiskControlMeasures(this.jobRiskAnalysisCheckedIds);
}
var info =[];
for(var i = 0;i<allJobRiskAnalysisList.length;i++){
info.push(allJobRiskAnalysisList[i].name)
}
this.task.jobRiskAnalysis=info.join(",");
console.info(this.jobRiskAnalysisCheckedIds);
},
checkedAll(){
console.log("点击确定之后的:"+this.jobRiskAnalysisList);
this.show=false;
},
selectjobRiskControlMeasures(methodId){
if(methodId=="" ||methodId==null){
this.$refs.uToast.show({
title: '请选择作业风险风险',
type: 'warning',
});
return;
}
console.log("根据选择的作业风险查询作业风险控制措施");
let url = "/nmeqit/v1/worksafetyinfo/selectjobRiskControlMeasures";
this.jobStepInfo="";
this.jobRiskControlMeasuresInfo = [];
this.task.jobRiskControlMeasures = '';
var idInfo= [];
var info= [];
var info1= [];
this.$u.post(url,{
methodId:methodId,
}).then(result => {
if(result.data.length>0){
for(var i=0;i<result.data.length;i++){
info.push( result.data[i].jobRiskControlMeasures);
info1.push( result.data[i].jobStep);
idInfo.push(result.data[i].id);
}
this.jobStepInfo=info1.join("\n");
this.task.jobRiskControlMeasures=idInfo.join(",");
this.jobRiskControlMeasuresInfo=info.join("\n");
}else{
this.$refs.uToast.show({
title: '当前选择的风险分析没有维护作业风险控制措施,请到管理系统中维护',
type: 'success'
})
}
});
},
VUE 同步使用
于 2024-09-05 14:43:02 首次发布