打通结果总览项目分析弹窗入口
This commit is contained in:
@@ -17,13 +17,21 @@
|
||||
<risk-people-section
|
||||
:section-data="currentData.riskPeople"
|
||||
:selected-model-codes="selectedModelCodes"
|
||||
@view-project-analysis="handleRiskPeopleProjectAnalysis"
|
||||
/>
|
||||
<risk-model-section
|
||||
:section-data="currentData.riskModels"
|
||||
@selection-change="handleRiskModelSelectionChange"
|
||||
@view-project-analysis="handleRiskModelProjectAnalysis"
|
||||
/>
|
||||
<risk-detail-section :section-data="currentData.riskDetails" />
|
||||
</div>
|
||||
<project-analysis-dialog
|
||||
:visible.sync="projectAnalysisDialogVisible"
|
||||
:person="currentProjectAnalysisPerson"
|
||||
:source="projectAnalysisSource"
|
||||
@close="handleProjectAnalysisDialogClose"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -42,6 +50,7 @@ import OverviewStats from "./OverviewStats";
|
||||
import RiskPeopleSection from "./RiskPeopleSection";
|
||||
import RiskModelSection from "./RiskModelSection";
|
||||
import RiskDetailSection from "./RiskDetailSection";
|
||||
import ProjectAnalysisDialog from "./ProjectAnalysisDialog";
|
||||
|
||||
export default {
|
||||
name: "PreliminaryCheck",
|
||||
@@ -50,6 +59,7 @@ export default {
|
||||
RiskPeopleSection,
|
||||
RiskModelSection,
|
||||
RiskDetailSection,
|
||||
ProjectAnalysisDialog,
|
||||
},
|
||||
props: {
|
||||
projectId: {
|
||||
@@ -72,6 +82,9 @@ export default {
|
||||
mockData: mockOverviewData,
|
||||
stateDataMap: mockOverviewStateData,
|
||||
realData: mockOverviewData,
|
||||
projectAnalysisDialogVisible: false,
|
||||
currentProjectAnalysisPerson: null,
|
||||
projectAnalysisSource: "riskPeople",
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -91,6 +104,7 @@ export default {
|
||||
this.realData = this.stateDataMap.empty;
|
||||
this.pageState = "empty";
|
||||
this.selectedModelCodes = [];
|
||||
this.resetProjectAnalysisDialog();
|
||||
},
|
||||
},
|
||||
created() {
|
||||
@@ -100,21 +114,44 @@ export default {
|
||||
}
|
||||
this.realData = this.stateDataMap.empty;
|
||||
this.pageState = "empty";
|
||||
this.resetProjectAnalysisDialog();
|
||||
},
|
||||
methods: {
|
||||
handleRiskModelSelectionChange(modelCodes) {
|
||||
this.selectedModelCodes = Array.isArray(modelCodes) ? [...modelCodes] : [];
|
||||
},
|
||||
handleRiskPeopleProjectAnalysis(row) {
|
||||
this.openProjectAnalysisDialog("riskPeople", row);
|
||||
},
|
||||
handleRiskModelProjectAnalysis(row) {
|
||||
this.openProjectAnalysisDialog("riskModelPeople", row);
|
||||
},
|
||||
openProjectAnalysisDialog(source, person) {
|
||||
this.projectAnalysisSource = source || "riskPeople";
|
||||
this.currentProjectAnalysisPerson = person || null;
|
||||
this.projectAnalysisDialogVisible = true;
|
||||
},
|
||||
handleProjectAnalysisDialogClose() {
|
||||
this.projectAnalysisDialogVisible = false;
|
||||
this.resetProjectAnalysisDialog();
|
||||
},
|
||||
resetProjectAnalysisDialog() {
|
||||
this.projectAnalysisDialogVisible = false;
|
||||
this.currentProjectAnalysisPerson = null;
|
||||
this.projectAnalysisSource = "riskPeople";
|
||||
},
|
||||
async loadOverviewData() {
|
||||
if (!this.projectId) {
|
||||
this.realData = this.stateDataMap.empty;
|
||||
this.pageState = "empty";
|
||||
this.selectedModelCodes = [];
|
||||
this.resetProjectAnalysisDialog();
|
||||
return;
|
||||
}
|
||||
|
||||
this.pageState = "loading";
|
||||
this.selectedModelCodes = [];
|
||||
this.resetProjectAnalysisDialog();
|
||||
try {
|
||||
const [dashboardRes, riskPeopleRes, riskModelCardsRes] = await Promise.all([
|
||||
getOverviewDashboard(this.projectId),
|
||||
@@ -143,6 +180,7 @@ export default {
|
||||
this.realData = this.stateDataMap.empty;
|
||||
this.pageState = "empty";
|
||||
this.selectedModelCodes = [];
|
||||
this.resetProjectAnalysisDialog();
|
||||
console.error("加载结果总览失败", error);
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user