123 lines
3.7 KiB
Vue
123 lines
3.7 KiB
Vue
<template>
|
||
<view class="content">
|
||
<view class="card">
|
||
<view class="title">{{ questionnaireInfo.NAME }}</view>
|
||
<uni-table border class="mt-10">
|
||
<uni-tr>
|
||
<uni-th>主要安全措施</uni-th>
|
||
<uni-th width="200rpx">是否涉及</uni-th>
|
||
</uni-tr>
|
||
<uni-tr v-for="(item,index) in items" :key="item.itemInfo.EW_RE_QUES_ITEM_ID">
|
||
<uni-td>
|
||
<view>{{ item.itemInfo.TEXT_INFO }}</view>
|
||
<view v-for="item1 in item.inputBoxes" :key="item1.EW_RE_QUES_ITEM_FILL_ID">
|
||
<u-cell :title="item1.TEXT_INFO + ':'" :border="false">
|
||
<template #value>
|
||
<u-input v-model="item1.MARKERS" :customStyle="{marginTop: '8px'}" border="bottom"/>
|
||
</template>
|
||
</u-cell>
|
||
</view>
|
||
</uni-td>
|
||
<uni-td>
|
||
<u-radio-group placement="column" v-model="item.optionsValue" @change="fnRadioChange($event,index)">
|
||
<u-radio :customStyle="{marginTop: '8px'}" v-for="item1 in item.options"
|
||
:key="item1.EW_RE_QUES_ITEM_FILL_ID" :label="item1.TEXT_INFO" :name="item1.VALUE_INFO"/>
|
||
</u-radio-group>
|
||
</uni-td>
|
||
</uni-tr>
|
||
</uni-table>
|
||
<view class="mt-10">
|
||
<u-button type="primary" text="下一步" @click="$u.debounce(fnSubmit, 1000,true)"/>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {setSecurityMeasures} from "@/utils/submitHomeworkProcess";
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
EW_RU_JOB_ID: '',
|
||
taskId: '',
|
||
TYPE: '',
|
||
CORP_ID: '',
|
||
questionnaireInfo: {},
|
||
items: [],
|
||
vernier: ''
|
||
}
|
||
},
|
||
onLoad(event) {
|
||
this.vernier = event.vernier
|
||
const eventChannel = this.getOpenerEventChannel();
|
||
eventChannel.on('questionnaire', (data) => {
|
||
this.EW_RU_JOB_ID = data.EW_RU_JOB_ID
|
||
this.taskId = data.taskId
|
||
this.TYPE = data.TYPE
|
||
this.CORP_ID = data.CORP_ID
|
||
this.questionnaireInfo = data.questionnaire.questionnaire
|
||
this.items = data.questionnaire.items
|
||
})
|
||
},
|
||
methods: {
|
||
fnRadioChange(event, index) {
|
||
for (let i = 0; i < this.items[index].options.length; i++) {
|
||
this.items[index].options[i].MARKERS = '0'
|
||
if (this.items[index].options[i].VALUE_INFO === event) {
|
||
this.items[index].options[i].MARKERS = '1'
|
||
}
|
||
}
|
||
},
|
||
async fnSubmit() {
|
||
for (let i = 0; i < this.items.length; i++) {
|
||
let isYes = false;
|
||
for (let j = 0; j < this.items[i].options.length; j++) {
|
||
if (
|
||
this.items[i].options[j].MARKERS &&
|
||
this.items[i].options[j].MARKERS === "1" &&
|
||
this.items[i].options[j].VALUE_INFO === "1"
|
||
) {
|
||
isYes = true;
|
||
}
|
||
}
|
||
for (let j = 0; j < this.items[i].inputBoxes.length; j++) {
|
||
if (isYes && !this.items[i].inputBoxes[j].MARKERS) {
|
||
uni.$u.toast(`第${i + 1}行第${j + 1}项未填写`)
|
||
return
|
||
}
|
||
}
|
||
for (let j = 0; j < this.items[i].options.length; j++) {
|
||
if (!this.items[i].options[j].MARKERS) {
|
||
uni.$u.toast(`第${i + 1}行第${j + 1}项未选择`)
|
||
return
|
||
}
|
||
}
|
||
}
|
||
await setSecurityMeasures({
|
||
questionnaires: this.items,
|
||
questionnaireInfo: this.questionnaireInfo,
|
||
taskId: this.taskId,
|
||
EW_RU_JOB_ID: this.EW_RU_JOB_ID,
|
||
CORP_ID: this.CORP_ID,
|
||
TYPE: this.TYPE,
|
||
vernier:this.vernier
|
||
})
|
||
}
|
||
},
|
||
}
|
||
</script>
|
||
|
||
<style scoped lang="scss">
|
||
.title {
|
||
text-align: center;
|
||
font-size: 36rpx;
|
||
}
|
||
|
||
::v-deep {
|
||
.u-cell__body {
|
||
padding: 0;
|
||
}
|
||
}
|
||
</style>
|