From 92c3f21594836eaef5328130abe45e46d08a748e Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 14 十月 2024 17:36:31 +0800
Subject: [PATCH] 1. 修复由于合并而缺少的下拉框宽度属性
---
src/views/fysp/check/ProCheck.vue | 188 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 158 insertions(+), 30 deletions(-)
diff --git a/src/views/fysp/check/ProCheck.vue b/src/views/fysp/check/ProCheck.vue
index f0c4e53..4be5761 100644
--- a/src/views/fysp/check/ProCheck.vue
+++ b/src/views/fysp/check/ProCheck.vue
@@ -3,16 +3,12 @@
<template #header>
<SearchBar @on-submit="search">
<template #summary>
- <CompSubTaskStatistic :subtasks="subtasks"/>
+ <CompSubTaskStatistic :subtasks="subtasks" />
</template>
</SearchBar>
</template>
<template #aside>
- <SideList
- :items="subtasks"
- :loading="sideLoading"
- @item-click="chooseSubtask"
- ></SideList>
+ <SideList :items="subtasks" :loading="sideLoading" @item-click="chooseSubtask"></SideList>
</template>
<template #main>
<ToolBar
@@ -21,41 +17,99 @@
:buttons="buttons"
:loading="mainLoading"
></ToolBar>
- <el-scrollbar
- v-if="curProList.length > 0"
- class="el-scrollbar"
- v-loading="mainLoading"
- >
+ <el-scrollbar v-if="curProList.length > 0" class="el-scrollbar" v-loading="mainLoading">
<CompProblemCard
- v-for="(p, i) in curProList"
+ v-if="compProblemCardVisible"
:key="i"
- :index="i+1"
+ v-for="(p, i) in curProList"
+ :index="i + 1"
:problem="p"
+ :subtask="curSubtask.data"
+ :topTask="topTask"
+ @updated="onProSubmited"
@submit="updateSubtask"
></CompProblemCard>
</el-scrollbar>
<el-empty v-else description="鏆傛棤璁板綍" v-loading="mainLoading" />
</template>
</BaseContentLayout>
+ <el-dialog
+ v-model="proAddOrUpdDialogVisible"
+ :before-close="proAddOrUpdDialogClose"
+ width="80%"
+ title="鏂板闂"
+ >
+ <CompProblemAddOrUpd
+ v-if="proAddOrUpdDialogVisible"
+ :subtask="curSubtask.data"
+ :topTask="topTask"
+ ref="compProblemAddOrUpdRef"
+ @submited="newProSubmit"
+ />
+ </el-dialog>
+ <el-dialog
+ v-model="anyPhotoDialog"
+ :before-close="beforeAnyPhotoDialogclose"
+ width="80%"
+ title="浠绘剰鍥剧墖"
+ >
+ <ArbitraryPhoto
+ v-if="anyPhotoDialog"
+ :readonly="true"
+ :subtask="curSubtask.data"
+ ref="arbitraryPhotoRef"
+ @selectByAnyPhonoEvent="handleCloseCheckAnyPhono"
+ >
+ </ArbitraryPhoto>
+ </el-dialog>
+ <el-drawer
+ :direction="rtl"
+ v-model="deviceShowDialog"
+ :before-close="beforeDeviceShowDialogclose"
+ title="璁炬柦璁惧"
+ size="65%"
+ >
+ <CompDeviceShowTest v-if="deviceShowDialog" ref="deviceShowRef"> </CompDeviceShowTest>
+ </el-drawer>
</template>
<script>
+import ArbitraryPhoto from './components/ArbitraryPhoto.vue';
import taskApi from '@/api/fysp/taskApi';
import ProCheckProxy from './ProCheckProxy';
import { ElMessageBox, ElNotification, ElMessage } from 'element-plus';
+import CompProblemAddOrUpd from './components/CompProblemAddOrUpd.vue';
+import CompDeviceShow from './components/CompDeviceShow.vue';
import CompProblemCard from './components/CompProblemCard.vue';
import CompSubTaskStatistic from './components/CompSubTaskStatistic.vue';
-
+import CompProRecent from './components/CompProRecent.vue';
+import CompDeviceShowTest from './components/CompDeviceShowTest.vue';
export default {
- components: { CompProblemCard, CompSubTaskStatistic },
+ components: {
+ CompProblemCard,
+ CompSubTaskStatistic,
+ CompProblemAddOrUpd,
+ ArbitraryPhoto,
+ CompDeviceShowTest,
+ CompProRecent
+ },
data() {
return {
+ compProblemCardVisible: true,
+ // 璁惧鍥�
+ deviceShowDialog: false,
+ // 浠绘剰鍥�
+ anyPhotoDialog: false,
+ // 鏂板闂
+ proAddOrUpdDialogVisible: false,
//宸︿晶鑿滃崟鏍忓姞杞界姸鎬�
sideLoading: false,
//鍙充晶鍐呭鏍忓姞杞界姸鎬�
mainLoading: false,
+ // 鎬讳换鍔�
+ topTask: {},
//瀛愪换鍔″垪琛�
subtasks: [],
//褰撳墠閫変腑鐨勪换鍔�
@@ -67,16 +121,30 @@
{
name: '鏂板闂',
color: 'success',
+ click: () => {
+ this.proAddOrUpdDialogVisible = true;
+ }
},
{
name: '浠绘剰鍥剧墖',
color: 'warning',
+ click: () => {
+ this.anyPhotoDialog = true;
+ }
+ },
+ {
+ name: '璁炬柦璁惧',
+ color: 'info',
+ click: () => {
+ this.openDeviceShowDialog();
+ }
},
{
name: '鎵归噺瀹℃牳',
color: 'primary',
- },
- ],
+ click: () => {}
+ }
+ ]
};
},
computed: {
@@ -90,50 +158,50 @@
{
name: '浠诲姟鎬昏',
value: 0,
- type: 'info',
+ type: 'info'
},
{
name: '闂鏈鏍�',
value: 0,
type: 'success',
- icon: 'SuccessFilled',
+ icon: 'SuccessFilled'
},
{
name: '闂閮ㄥ垎瀹℃牳',
value: 0,
type: 'success',
- icon: 'SuccessFilled',
+ icon: 'SuccessFilled'
},
{
name: '闂鍏ㄩ儴瀹℃牳',
value: 0,
type: 'success',
- icon: 'SuccessFilled',
+ icon: 'SuccessFilled'
},
{
name: '鏈暣鏀�',
value: 0,
type: 'info',
- icon: 'WarningFilled',
+ icon: 'WarningFilled'
},
{
name: '鏁存敼鏈鏍�',
value: 0,
type: 'info',
- icon: 'WarningFilled',
+ icon: 'WarningFilled'
},
{
name: '鏁存敼閮ㄥ垎瀹℃牳',
value: 0,
type: 'warning',
- icon: 'WarningFilled',
+ icon: 'WarningFilled'
},
{
name: '鏁存敼鍏ㄩ儴瀹℃牳',
value: 0,
type: 'warning',
- icon: 'WarningFilled',
- },
+ icon: 'WarningFilled'
+ }
];
this.subtasks.forEach((s) => {
@@ -158,11 +226,33 @@
});
return _summary;
- },
+ }
},
methods: {
+ // 鎵撳紑璁惧鍥�
+ openDeviceShowDialog() {
+ this.deviceShowDialog = true;
+ this.$nextTick(() => {
+ this.$refs.deviceShowRef.init(this.curSubtask.data.scene);
+ });
+ },
+ // 鍏抽棴璁惧鍥惧脊绐�
+ beforeDeviceShowDialogclose() {
+ this.deviceShowDialog = false;
+ },
+ // 鍏抽棴浠绘剰鍥剧墖寮圭獥
+ beforeAnyPhotoDialogclose() {
+ this.anyPhotoDialog = false;
+ },
+ handleCloseCheckAnyPhono() {
+ this.beforeAnyPhotoDialogclose();
+ },
+ proAddOrUpdDialogClose() {
+ this.proAddOrUpdDialogVisible = false;
+ },
//鏌ヨ瀛愪换鍔$粺璁′俊鎭�
search(formSearch) {
+ this.topTask = formSearch.obj;
this.sideLoading = true;
this.mainLoading = true;
this.curProList = [];
@@ -175,7 +265,7 @@
type: t,
title: s.stName,
categoly: s.stPlanTime.split('T')[0],
- data: s,
+ data: s
});
});
this.subtasks = list;
@@ -201,6 +291,7 @@
},
//鐐瑰嚮宸︿晶鑿滃崟浠诲姟浜嬩欢
chooseSubtask(s) {
+ // this.currInsGuid = s.data.insGuid
this.sideLoading = false;
this.mainLoading = true;
// const controller = new AbortController();
@@ -214,12 +305,49 @@
this.mainLoading = false;
});
},
- updateSubtask() {
+ // 闂鍗$墖缁勪欢涓诲姩鍙戣捣鍒锋柊鐖剁粍浠舵暟鎹�
+ updateSubtask(isOk) {
this.curSubtask.data.proCheckedNum++;
this.curSubtask.type = this.getSubtaskType(this.curSubtask.data);
+ if (!isOk) {
+ return;
+ }
+ this.refreshCurrSubtask();
+ },
+ onProSubmited(isOk) {
+ this.proAddOrUpdDialogClose();
+ if (!isOk) {
+ return;
+ }
+ this.updateSubtask(isOk);
+ },
+ newProSubmit(isOk) {
+ this.proAddOrUpdDialogVisible = false;
+ if (!isOk) {
+ return;
+ }
+ this.refreshCurrSubtask();
+ },
+ // 鍒锋柊褰撳墠閫変腑瀛愪换鍔�
+ refreshCurrSubtask() {
+ this.compProblemCardVisible = false;
+ this.sideLoading = false;
+ this.mainLoading = true;
+ setTimeout(() => {
+ taskApi
+ .getProBySubtask(this.curSubtask.data.stGuid)
+ .then((res) => {
+ this.curProList = res;
+ // this.curSubtask = s;
+ })
+ .finally(() => {
+ this.mainLoading = false;
+ this.compProblemCardVisible = true;
+ });
+ }, 150);
}
},
- mounted() {},
+ mounted() {}
};
</script>
--
Gitblit v1.9.3