From 9a61e46d96536f3299e57f7259ae1c9972256ec6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 30 九月 2025 09:42:09 +0800
Subject: [PATCH] 1. 隐藏未完成的账户匹配页面 2. 根据第三方新的接口文档修改接口url地址
---
src/views/fysp/check/ProCheck.vue | 219 +++++++++++++++++++++++-------------------------------
1 files changed, 92 insertions(+), 127 deletions(-)
diff --git a/src/views/fysp/check/ProCheck.vue b/src/views/fysp/check/ProCheck.vue
index 7e96121..d47f6a0 100644
--- a/src/views/fysp/check/ProCheck.vue
+++ b/src/views/fysp/check/ProCheck.vue
@@ -3,40 +3,47 @@
<template #header>
<SearchBar @on-submit="search">
<template #summary>
- <CompSubTaskStatistic :subtasks="subtasks" />
+ <CompSubTaskStatistic
+ :loading="sideLoading"
+ :sceneType="sceneTypeId"
+ :subtasks="subtasks"
+ :monitorObjList="curMonitorObjList"
+ />
</template>
</SearchBar>
</template>
<template #aside>
<SideList
+ legend
:items="subtasks"
:loading="sideLoading"
@item-click="chooseSubtask"
></SideList>
</template>
<template #main>
- <ToolBar
- :title="curSubtask.title"
- :descriptions="proStatus"
- :buttons="buttons"
- :loading="mainLoading"
- ></ToolBar>
- <el-scrollbar
- v-if="curProList.length > 0"
- class="el-scrollbar"
- v-loading="mainLoading"
- >
- <CompProblemCard
- :key="i"
- v-for="(p, i) in curProList"
- :index="i + 1"
- :problem="p"
- :subtask="curSubtask.data"
- :topTask="topTask"
- @submit="updateSubtask"
- ></CompProblemCard>
+ <el-scrollbar>
+ <ToolBar
+ ref="toolBarRef"
+ class="toolbar-sticky"
+ :title="curSubtask.title"
+ :descriptions="proStatus"
+ :buttons="buttons"
+ :loading="mainLoading"
+ ></ToolBar>
+ <div v-if="curProList.length > 0" v-loading="mainLoading">
+ <CompProblemCard
+ :key="i"
+ v-for="(p, i) in curProList"
+ :index="i + 1"
+ :problem="p"
+ :subtask="curSubtask.data"
+ :topTask="topTask"
+ @submit="updateSubtask"
+ @check="handleProblemCheck"
+ ></CompProblemCard>
+ </div>
+ <el-empty v-else description="鏆傛棤闂" v-loading="mainLoading" />
</el-scrollbar>
- <el-empty v-else description="鏆傛棤璁板綍" v-loading="mainLoading" />
</template>
</BaseContentLayout>
<CompProblemAddOrUpd
@@ -63,38 +70,51 @@
ref="deviceShowRef"
>
</CompDeviceShowTest>
+ <SceneEditDialog
+ v-model="sceneInfoDialog"
+ :sceneId="curSubtask.data ? curSubtask.data.sceneId : undefined"
+ ></SceneEditDialog>
</template>
<script>
import ArbitraryPhoto from './components/ArbitraryPhoto.vue';
import taskApi from '@/api/fysp/taskApi';
+import problemApi from '@/api/fysp/problemApi';
import ProCheckProxy from './ProCheckProxy';
import CompProblemAddOrUpd from './components/CompProblemAddOrUpd.vue';
import CompProblemCard from './components/CompProblemCard.vue';
import CompSubTaskStatistic from './components/CompSubTaskStatistic.vue';
import CompDeviceShowTest from './components/CompDeviceShowTest.vue';
+import SceneEditDialog from '@/views/fysp/scene/SceneEditDialog.vue';
export default {
components: {
CompProblemCard,
CompSubTaskStatistic,
CompProblemAddOrUpd,
ArbitraryPhoto,
- CompDeviceShowTest
+ CompDeviceShowTest,
+ SceneEditDialog
},
data() {
return {
- // 璁惧鍥�
+ // 璁惧鍥惧璇濇
deviceShowDialog: false,
- // 浠绘剰鍥�
+ // 浠绘剰鍥惧璇濇
anyPhotoDialog: false,
- // 鏂板闂
+ // 鏂板闂瀵硅瘽妗�
proAddOrUpdDialogVisible: false,
+ // 鍩烘湰淇℃伅瀵硅瘽妗�
+ sceneInfoDialog: false,
//宸︿晶鑿滃崟鏍忓姞杞界姸鎬�
sideLoading: false,
//鍙充晶鍐呭鏍忓姞杞界姸鎬�
mainLoading: false,
// 鎬讳换鍔�
topTask: {},
+ // 鍦烘櫙绫诲瀷id
+ sceneTypeId: undefined,
+ // 鎬讳换鍔″贰鏌ヨ鍒掓竻鍗�
+ curMonitorObjList: [],
//瀛愪换鍔″垪琛�
subtasks: [],
//褰撳墠閫変腑鐨勪换鍔�
@@ -104,22 +124,32 @@
//鎿嶄綔鎸夐挳
buttons: [
{
- name: '鏂板闂',
+ name: '鍦烘櫙淇℃伅',
color: 'success',
+ // color: 'primary',
+ click: () => {
+ this.sceneInfoDialog = true;
+ }
+ },
+ {
+ name: '鏂板闂',
+ // color: 'success',
+ color: 'primary',
click: () => {
this.proAddOrUpdDialogVisible = true;
}
},
{
name: '鍦烘櫙鍥剧墖',
- color: 'warning',
+ // color: 'warning',
+ color: 'primary',
click: () => {
this.anyPhotoDialog = true;
}
},
{
name: '璁炬柦璁惧',
- color: 'info',
+ color: 'primary',
click: () => {
this.openDeviceShowDialog();
}
@@ -136,81 +166,6 @@
//闂鐘舵��
proStatus() {
return ProCheckProxy.proStatusArray(this.curProList);
- },
- //浠诲姟闂瀹℃牳鎯呭喌缁熻淇℃伅
- summary() {
- const _summary = [
- {
- name: '浠诲姟鎬昏',
- value: 0,
- type: 'info'
- },
- {
- name: '闂鏈鏍�',
- value: 0,
- type: 'success',
- icon: 'SuccessFilled'
- },
- {
- name: '闂閮ㄥ垎瀹℃牳',
- value: 0,
- type: 'success',
- icon: 'SuccessFilled'
- },
- {
- name: '闂鍏ㄩ儴瀹℃牳',
- value: 0,
- type: 'success',
- icon: 'SuccessFilled'
- },
- {
- name: '鏈暣鏀�',
- value: 0,
- type: 'info',
- icon: 'WarningFilled'
- },
- {
- name: '鏁存敼鏈鏍�',
- value: 0,
- type: 'info',
- icon: 'WarningFilled'
- },
- {
- name: '鏁存敼閮ㄥ垎瀹℃牳',
- value: 0,
- type: 'warning',
- icon: 'WarningFilled'
- },
- {
- name: '鏁存敼鍏ㄩ儴瀹℃牳',
- value: 0,
- type: 'warning',
- icon: 'WarningFilled'
- }
- ];
-
- this.subtasks.forEach((s) => {
- _summary[0].value++;
-
- if (s.data.proNum == 0) {
- _summary[1].value++;
- } else if (s.data.proCheckedNum == 0) {
- _summary[3].value++;
- } else if (s.data.proCheckedNum < s.data.proNum) {
- _summary[2].value++;
- } else {
- _summary[1].value++;
- }
- });
- _summary.forEach((s, i) => {
- if (i > 0) {
- let per = Math.round((s.value / _summary[0].value) * 1000) / 10;
- if (isNaN(per)) per = 0;
- s.value = `${s.value}(${per}%)`;
- }
- });
-
- return _summary;
}
},
methods: {
@@ -228,6 +183,7 @@
this.mainLoading = true;
this.curProList = [];
this.curSubtask = {};
+ this.sceneTypeId = formSearch.sceneTypeId;
const param = {
topTaskId: formSearch.topTask.tguid,
sceneTypeId: formSearch.sceneTypeId
@@ -235,8 +191,9 @@
taskApi.getSubtaskSummary(param).then((res) => {
const list = [];
res.forEach((s) => {
- const t = this.getSubtaskType(s);
+ const t = ProCheckProxy.getSubtaskType(s);
list.push({
+ status: s.subtask.status,
type: t,
title: s.stName,
categoly: s.stPlanTime.split('T')[0],
@@ -249,20 +206,9 @@
this.mainLoading = false;
}
});
- },
- //鑾峰彇浠诲姟闂鐨勫鏍告儏鍐�
- getSubtaskType(s) {
- let type = 0;
- if (s.proNum == 0) {
- type = 2;
- } else if (s.proCheckedNum == 0) {
- type = 0;
- } else if (s.proCheckedNum < s.proNum) {
- type = 1;
- } else {
- type = 2;
- }
- return type;
+ taskApi.fetchMonitorObjectVersion(param.topTaskId).then((res) => {
+ this.curMonitorObjList = res;
+ });
},
//鐐瑰嚮宸︿晶鑿滃崟浠诲姟浜嬩欢
chooseSubtask(s) {
@@ -270,7 +216,7 @@
this.sideLoading = false;
this.mainLoading = true;
// const controller = new AbortController();
- taskApi
+ problemApi
.getProBySubtask(s.data.stGuid)
.then((res) => {
this.curProList = res;
@@ -280,12 +226,11 @@
this.mainLoading = false;
});
},
- onAddProCanceled() {
- },
+ onAddProCanceled() {},
// 闂鍗$墖缁勪欢涓诲姩鍙戣捣鍒锋柊鐖剁粍浠舵暟鎹�
updateSubtask(refresh = false) {
this.curSubtask.data.proCheckedNum++;
- this.curSubtask.type = this.getSubtaskType(this.curSubtask.data);
+ this.curSubtask.type = ProCheckProxy.getSubtaskType(this.curSubtask.data);
if (this.proAddOrUpdDialogVisible) {
this.proAddOrUpdDialogVisible = false;
}
@@ -294,9 +239,9 @@
// 鍒锋柊褰撳墠閫変腑瀛愪换鍔�
refreshCurrSubtask(refresh) {
this.sideLoading = false;
- this.mainLoading = true;
setTimeout(() => {
- taskApi
+ this.mainLoading = true;
+ problemApi
.getProBySubtask(this.curSubtask.data.stGuid)
.then((res) => {
if (refresh) {
@@ -318,7 +263,16 @@
.finally(() => {
this.mainLoading = false;
});
- }, 150);
+ }, 500);
+ },
+ // 闂瀹℃牳瀹屾垚鍚庯紝鏇存柊宸︿晶鍒楄〃瀵瑰簲瀛愪换鍔$姸鎬�
+ handleProblemCheck() {
+ const status = ProCheckProxy.calProStatus(this.curProList);
+ this.curSubtask.data.proNum = status.proNum;
+ this.curSubtask.data.proCheckedNum = status.proCheckedNum;
+ this.curSubtask.data.changeNum = status.changeNum;
+ this.curSubtask.data.changeCheckedNum = status.changeCheckedNum;
+ this.curSubtask.type = ProCheckProxy.getSubtaskType(this.curSubtask.data);
}
},
mounted() {}
@@ -326,7 +280,18 @@
</script>
<style scoped>
-.el-scrollbar {
+.scrollbar-outer {
+ height: calc(100vh - 60px * 2 - 24px);
+ background-color: aliceblue;
+}
+
+.scrollbar-inner {
height: calc(100vh - 60px * 2 - 20px * 2 - var(--height-toolbar));
}
+
+.toolbar-sticky {
+ position: sticky;
+ z-index: 2;
+ top: 0;
+}
</style>
--
Gitblit v1.9.3