| | |
| | | class="el-scrollbar" |
| | | v-loading="mainLoading" |
| | | > |
| | | <template v-if="compProblemCardVisible"> |
| | | <CompProblemCard |
| | | :key="i" |
| | | v-for="(p, i) in curProList" |
| | |
| | | :problem="p" |
| | | :subtask="curSubtask.data" |
| | | :topTask="topTask" |
| | | @updated="onProSubmited" |
| | | @submit="updateSubtask" |
| | | ></CompProblemCard> |
| | | </template> |
| | | </el-scrollbar> |
| | | <el-empty v-else description="暂无记录" v-loading="mainLoading" /> |
| | | </template> |
| | | </BaseContentLayout> |
| | | <el-dialog |
| | | v-model="proAddOrUpdDialogVisible" |
| | | :before-close="proAddOrUpdDialogClose" |
| | | width="50%" |
| | | title="新增问题" |
| | | > |
| | | <CompProblemAddOrUpd |
| | | title="新增问题" |
| | | v-if="proAddOrUpdDialogVisible" |
| | | v-model:visible="proAddOrUpdDialogVisible" |
| | | :subtask="curSubtask.data" |
| | | :topTask="topTask" |
| | | ref="compProblemAddOrUpdRef" |
| | | @submited="newProSubmit" |
| | | @submit="updateSubtask" |
| | | /> |
| | | </el-dialog> |
| | | <ArbitraryPhoto |
| | | v-if="anyPhotoDialog" |
| | | v-model:dialog-visible="anyPhotoDialog" |
| | |
| | | :subtask="curSubtask.data" |
| | | ref="arbitraryPhotoRef" |
| | | ></ArbitraryPhoto> |
| | | <el-drawer |
| | | direction="ltr" |
| | | v-model="deviceShowDialog" |
| | | :before-close="beforeDeviceShowDialogclose" |
| | | <CompDeviceShowTest |
| | | title="设施设备" |
| | | size="45%" |
| | | v-model:visible="deviceShowDialog" |
| | | v-if="deviceShowDialog" |
| | | ref="deviceShowRef" |
| | | > |
| | | <CompDeviceShowTest v-if="deviceShowDialog" ref="deviceShowRef"> |
| | | </CompDeviceShowTest> |
| | | </el-drawer> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | compProblemCardVisible: true, |
| | | // 设备图 |
| | | deviceShowDialog: false, |
| | | // 任意图 |
| | |
| | | this.$refs.deviceShowRef.init(this.curSubtask.data.scene); |
| | | }); |
| | | }, |
| | | // 关闭设备图弹窗 |
| | | beforeDeviceShowDialogclose(done) { |
| | | // this.deviceShowDialog = false; |
| | | done(); |
| | | }, |
| | | // 关闭任意图片弹窗 |
| | | beforeAnyPhotoDialogclose() { |
| | | this.anyPhotoDialog = false; |
| | | }, |
| | | handleCloseCheckAnyPhono() { |
| | | this.beforeAnyPhotoDialogclose(); |
| | | }, |
| | | proAddOrUpdDialogClose() { |
| | | this.proAddOrUpdDialogVisible = false; |
| | | }, |
| | | //查询子任务统计信息 |
| | | search(formSearch) { |
| | | this.topTask = formSearch.topTask; |
| | |
| | | }); |
| | | }, |
| | | // 问题卡片组件主动发起刷新父组件数据 |
| | | updateSubtask(refresh = true) { |
| | | updateSubtask(refresh = false) { |
| | | this.curSubtask.data.proCheckedNum++; |
| | | this.curSubtask.type = this.getSubtaskType(this.curSubtask.data); |
| | | if (refresh) { |
| | | this.refreshCurrSubtask(); |
| | | if (this.proAddOrUpdDialogVisible) { |
| | | this.proAddOrUpdDialogVisible = false |
| | | } |
| | | }, |
| | | onProSubmited(isOk) { |
| | | this.proAddOrUpdDialogClose(); |
| | | if (!isOk) { |
| | | return; |
| | | } |
| | | this.updateSubtask(); |
| | | }, |
| | | newProSubmit(isOk) { |
| | | this.proAddOrUpdDialogVisible = false; |
| | | if (!isOk) { |
| | | return; |
| | | } |
| | | this.refreshCurrSubtask(); |
| | | this.refreshCurrSubtask(refresh); |
| | | }, |
| | | // 刷新当前选中子任务 |
| | | refreshCurrSubtask() { |
| | | this.compProblemCardVisible = false; |
| | | refreshCurrSubtask(refresh) { |
| | | this.sideLoading = false; |
| | | this.mainLoading = true; |
| | | setTimeout(() => { |
| | | taskApi |
| | | .getProBySubtask(this.curSubtask.data.stGuid) |
| | | .then((res) => { |
| | | if (refresh) { |
| | | this.curProList = res; |
| | | return; |
| | | } |
| | | const currProLen = this.curProList.length; |
| | | // 不改变数组对像引用的前提下重新赋值 |
| | | for (let index = 0; index < res.length; index++) { |
| | | const element = res[index]; |
| | | if (currProLen < index + 1) { |
| | | this.curProList.push(element); |
| | | } else { |
| | | this.curProList[index] = element; |
| | | } |
| | | } |
| | | // this.curSubtask = s; |
| | | }) |
| | | .finally(() => { |
| | | this.mainLoading = false; |
| | | this.compProblemCardVisible = true; |
| | | }); |
| | | }, 150); |
| | | } |