From 3832a82fb79d4cec4cca5e2854e54953f2095ef8 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 06 九月 2024 16:55:08 +0800 Subject: [PATCH] 1. 添加溯源清单功能 2. 修复切换至走航监测界面后,之前正在加载的历史数据依旧展示至地图的问题 3. 添加折线图下载图片功能; 4. 添加数据导出功能; 5. 添加设备管理功能; 6. 添加数据弹框和溯源清单开关功能; 7. 优化3D里面的颜色展示逻辑,底部颜色由原来的因子最小值颜色改为当前量级的上一个量级对应的颜色 --- src/components/mission/MissionManage.vue | 216 +++++++++++++++++++++++++++++------------------------ 1 files changed, 118 insertions(+), 98 deletions(-) diff --git a/src/components/mission/MissionManage.vue b/src/components/mission/MissionManage.vue index d7efdb4..1cf433f 100644 --- a/src/components/mission/MissionManage.vue +++ b/src/components/mission/MissionManage.vue @@ -1,122 +1,142 @@ <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 + :model-value="modelValue" + @changed="handleChange" + 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" + 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="140" align="center"> + <template #default="{ row }"> + <el-button + type="primary" + size="small" + class="el-button-custom" + @click="deleteMission(row)" + >鍒犻櫎</el-button + > + <!-- <el-button + :loading="row.downloadLoading" + type="primary" + size="small" + 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> --> - <MissionCreate></MissionCreate> - </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> + <MissionCreate></MissionCreate> + </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> </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'; 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 }; }, computed: { - ...mapState(useMissionStore, ['missionList']) + ...mapStores(useMissionStore) }, methods: { - createMission() {}, - deleteMission(row) {}, + handleChange(value) { + this.$emit('update:modelValue', value); + }, + 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)); + }, + // eslint-disable-next-line no-unused-vars timeFormatter(row, col, cellValue, index) { return moment(cellValue).format('YYYY-MM-DD HH:mm:ss'); } @@ -144,6 +164,6 @@ } .mission-table { - height: 60vh; + /* height: 60vh; */ } </style> -- Gitblit v1.9.3