From 08ffcf9d7ffafaa82d8de7f9b5fcfdb49e9c3688 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 05 十一月 2025 17:33:54 +0800
Subject: [PATCH] 动态溯源 1. 修复CO因子文本没有正常显示的问题;
---
src/components/mission/MissionManage.vue | 254 +++++++++++++++++++++++++++++++-------------------
1 files changed, 156 insertions(+), 98 deletions(-)
diff --git a/src/components/mission/MissionManage.vue b/src/components/mission/MissionManage.vue
index ba24f8f..87f8e22 100644
--- a/src/components/mission/MissionManage.vue
+++ b/src/components/mission/MissionManage.vue
@@ -1,121 +1,175 @@
<template>
- <el-button
+ <!-- <el-button
type="primary"
icon="Memo"
class="el-button-custom p-events-auto"
@click="dialogVisible = !dialogVisible"
>
浠诲姟绠$悊
- </el-button>
- <el-dialog v-model="dialogVisible" :show-close="false" align-center>
- <template #header="{ close, titleId, titleClass }">
- <BaseCard direction="top-left" borderless="t">
- <template #content>
- <el-row justify="space-between" align="middle">
- <el-row align="middle">
- <font-awesome-icon icon="fa fa-list" class="m-r-4" />
- <span :id="titleId" :class="titleClass">璧拌埅浠诲姟绠$悊</span>
- </el-row>
- <font-awesome-icon
- icon="fa fa-times"
- class="cursor-p m-r-4"
- @click="close"
- />
- </el-row>
- </template>
- </BaseCard>
- </template>
- <BaseCard size="medium">
- <template #content>
- <el-row class="mission-table">
- <el-col :span="20">
- <el-table
- :data="missionList"
- table-layout="fixed"
- size="small"
- :show-overflow-tooltip="true"
- border
- row-class-name="t-row"
- cell-class-name="t-cell"
- header-row-class-name="t-header-row"
- header-cell-class-name="t-header-cell"
- >
- <el-table-column
- type="index"
- label="搴忓彿"
- align="center"
- width="50"
- />
- <el-table-column
- prop="missionCode"
- label="浠诲姟缂栧彿"
- align="center"
- />
- <el-table-column
- prop="startTime"
- label="寮�濮嬫椂闂�"
- align="center"
- :formatter="timeFormatter"
- />
- <el-table-column
- prop="endTime"
- label="缁撴潫鏃堕棿"
- align="center"
- :formatter="timeFormatter"
- />
- <el-table-column label="绠$悊" width="70" align="center">
- <template #default="{ row }">
- <el-button
- type="primary"
- size="small"
- class="el-button-custom"
- @click="deleteMission(row)"
- >鍒犻櫎</el-button
- >
- </template>
- </el-table-column>
- </el-table>
- </el-col>
- <el-col :span="4" class="flex-col">
- <div>
- <el-button type="primary" class="el-button-custom">
+ </el-button> -->
+ <CardDialog v-bind="$attrs" title="璧拌埅浠诲姟绠$悊">
+ <el-row class="mission-table">
+ <el-col :span="20">
+ <el-table
+ :data="missionStore.missionList"
+ table-layout="fixed"
+ size="small"
+ :show-overflow-tooltip="true"
+ border
+ height="64vh"
+ row-class-name="t-row-normal"
+ cell-class-name="t-cell"
+ header-row-class-name="t-header-row"
+ header-cell-class-name="t-header-cell"
+ >
+ <el-table-column
+ type="index"
+ label="搴忓彿"
+ align="center"
+ width="50"
+ />
+ <el-table-column prop="missionCode" label="浠诲姟缂栧彿" align="center" />
+ <el-table-column
+ prop="startTime"
+ label="寮�濮嬫椂闂�"
+ align="center"
+ :formatter="timeFormatter"
+ width="150"
+ />
+ <el-table-column
+ prop="endTime"
+ label="缁撴潫鏃堕棿"
+ align="center"
+ :formatter="timeFormatter"
+ width="150"
+ />
+ <el-table-column label="绠$悊" width="160" align="center">
+ <template #default="{ row }">
+ <!-- <MissionEdit mode="update"></MissionEdit> -->
+ <el-button
+ type="primary"
+ size="small"
+ icon="EditPen"
+ class="el-button-custom"
+ @click="updateMission(row)"
+ ></el-button>
+ <el-button
+ type="primary"
+ size="small"
+ icon="Delete"
+ class="el-button-custom"
+ @click="deleteMission(row)"
+ ></el-button>
+ <el-button
+ :loading="row.downloadLoading"
+ type="primary"
+ size="small"
+ icon="Document"
+ class="el-button-custom"
+ @click="downloadReport(row)"
+ ></el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-col>
+ <el-col :span="4" class="flex-col">
+ <!-- <div> -->
+ <!-- <el-button type="primary" class="el-button-custom">
鏂板缓浠诲姟
- </el-button>
- </div>
- <div>
- <el-button type="primary" class="el-button-custom">
- 鏁版嵁瀵煎叆
- </el-button>
- </div>
- <div>
- <el-button type="primary" class="el-button-custom">
- 涓嬭浇妯℃澘
- </el-button>
- </div>
- </el-col>
- </el-row>
- </template>
- </BaseCard>
- </el-dialog>
+ </el-button> -->
+ <el-button
+ type="primary"
+ class="el-button-custom"
+ @click="createMission"
+ >
+ 鏂板缓浠诲姟
+ </el-button>
+ <!-- </div> -->
+ <!-- <div>
+ <el-button type="primary" class="el-button-custom">
+ 鏁版嵁瀵煎叆
+ </el-button>
+ </div> -->
+ <!-- <div>
+ <el-button type="primary" class="el-button-custom">
+ 涓嬭浇妯℃澘
+ </el-button>
+ </div> -->
+ </el-col>
+ </el-row>
+ </CardDialog>
+ <MessageBox
+ v-model="msgBoxVisible"
+ :on-confirm="onConfirm"
+ title="鍒犻櫎璧拌埅浠诲姟"
+ msg="纭鏄惁鍒犻櫎璇ヨ蛋鑸换鍔�"
+ confirmText="鍒犻櫎"
+ ></MessageBox>
+ <MissionEdit
+ v-model="dialogVisible"
+ width="30%"
+ :mode="editMode"
+ :mission="selectedMission"
+ ></MissionEdit>
</template>
<script>
import moment from 'moment';
-import { mapState } from 'pinia';
+import missionApi from '@/api/missionApi';
+import { mapStores } from 'pinia';
import { useMissionStore } from '@/stores/mission';
+import { useFetchData } from '@/composables/fetchData';
+import { downloadReport } from '@/components/mission/missionReportDownload.js';
export default {
- props: {},
+ setup() {
+ const { loading, fetchData } = useFetchData();
+ return { loading, fetchData };
+ },
+ props: {
+ // modelValue: Boolean
+ },
+ // emits: ['update:modelValue'],
data() {
return {
- dialogVisible: false
+ dialogVisible: false,
+ msgBoxVisible: false,
+ onConfirm: undefined,
+ // 浠诲姟缂栬緫妯″紡锛宑reate锛氬垱寤烘柊浠诲姟锛寀pdate锛氱紪杈戝凡鏈変换鍔�
+ editMode: 'create',
+ // 閫変腑鐨勫緟缂栬緫浠诲姟
+ selectedMission: undefined
};
},
computed: {
- ...mapState(useMissionStore, ['missionLi1st'])
+ ...mapStores(useMissionStore)
},
methods: {
- createMission() {},
- deleteMission(row) {},
+ // handleChange(value) {
+ // this.$emit('update:modelValue', value);
+ // },
+ createMission() {
+ this.editMode = 'create';
+ this.dialogVisible = true;
+ },
+ updateMission(row) {
+ this.editMode = 'update';
+ this.selectedMission = row;
+ this.dialogVisible = true;
+ },
+ deleteMission(row) {
+ this.onConfirm = () => {
+ this.missionStore.deleteMission(row.missionCode);
+ };
+ this.msgBoxVisible = true;
+ },
+ downloadReport(row) {
+ row.downloadLoading = true;
+ // missionApi
+ // .downloadReport(row.missionCode)
+ // .finally(() => (row.downloadLoading = false));
+ downloadReport(row).finally(() => (row.downloadLoading = false));
+ },
+ // eslint-disable-next-line no-unused-vars
timeFormatter(row, col, cellValue, index) {
return moment(cellValue).format('YYYY-MM-DD HH:mm:ss');
}
@@ -143,6 +197,10 @@
}
.mission-table {
- height: 60vh;
+ /* height: 60vh; */
+}
+
+:deep(.t-row-normal) {
+ background-color: transparent !important;
}
</style>
--
Gitblit v1.9.3