|
|
@@ -58,11 +58,11 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <div class="drill-container__content--item">
|
|
|
+ <div class="drill-container__content--item" v-if="drillData.emergencyPlanAppendix">
|
|
|
<span class="label">关联应急预案:</span>
|
|
|
- <a v-if="emergencyPlanDetail" class="value font-primary" :href="emergencyPlanDetail.appendix">{{
|
|
|
- emergencyPlanDetail.planName
|
|
|
- }}</a>
|
|
|
+ <span class="value font-primary link" @click="handlePreviewFile(drillData.emergencyPlanAppendix)">{{
|
|
|
+ JSON.parse(drillData.emergencyPlanAppendix)[0].fileName
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -100,7 +100,6 @@
|
|
|
import DrillPlanExecuteForm from './DrillPlanExecuteForm.vue';
|
|
|
import {
|
|
|
queryEmergencyDrillPlanDetail,
|
|
|
- queryEmergencyPlanDetail,
|
|
|
saveEmergencyDrillExecute,
|
|
|
submitEmergencyDrillExecute,
|
|
|
} from '@/api/emergency-drill/emergency-drill';
|
|
|
@@ -108,12 +107,14 @@
|
|
|
import type { FileItem } from '@/views/disaster/types';
|
|
|
import { uploadFileApi, UPLOAD_BIZ_TYPE } from '@/api/minio';
|
|
|
import { useEmergencyDrillHook } from '../hook';
|
|
|
+ import PreviewOnline from '@/views/disaster/components/PreviewOnline.vue';
|
|
|
+ import { FILE_TYPE_ICON } from '@/views/disaster/constant';
|
|
|
|
|
|
const route = useRoute();
|
|
|
const id = route.query.id;
|
|
|
const approvalList = ref();
|
|
|
- const emergencyPlanDetail = ref();
|
|
|
const drillData = ref<DrillPlanItemDetail>();
|
|
|
+ const previewOnlineRef = ref<InstanceType<typeof PreviewOnline>>();
|
|
|
|
|
|
const { drillScopeDice, getDrillScopeDict, getDrillScope } = useEmergencyDrillHook();
|
|
|
|
|
|
@@ -123,11 +124,6 @@
|
|
|
async function getDrillData() {
|
|
|
try {
|
|
|
drillData.value = await queryEmergencyDrillPlanDetail(id);
|
|
|
-
|
|
|
- // 获取应急预案名
|
|
|
- if (drillData.value.emergencyPlanId) {
|
|
|
- emergencyPlanDetail.value = await queryEmergencyPlanDetail(id);
|
|
|
- }
|
|
|
} catch (e) {
|
|
|
console.log(e);
|
|
|
}
|
|
|
@@ -167,6 +163,15 @@
|
|
|
};
|
|
|
};
|
|
|
|
|
|
+ const handlePreviewFile = (str: string) => {
|
|
|
+ const obj = JSON.parse(str);
|
|
|
+ const file = Array.isArray(obj) ? obj[0] : obj;
|
|
|
+ const url = file.fileUrl;
|
|
|
+ const type = file.fileType as keyof typeof FILE_TYPE_ICON;
|
|
|
+ if (!url) return;
|
|
|
+ previewOnlineRef.value?.open(url, type);
|
|
|
+ };
|
|
|
+
|
|
|
async function executeSaveOrSubmit(mode: string) {
|
|
|
if (!drillPlanExecuteFormRef.value) return;
|
|
|
// drillPlanExecuteFormRef.value.handleClearValidate();
|