import { ref, defineComponent, computed, onMounted, onUnmounted, reactive, } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import { upload, UploadData } from '@/api/common'; import cloneDeep from 'lodash/cloneDeep'; import div from '@/components/div'; import { useCommonStore, useIncidentStore } from '@/store'; import QueryMap from '@/components/QueryMap'; import { BaseMediaUrl} from '@/utils/index'; // import MediaUpload from '@/components/MediaUpload'; import './index.scss'; import { DropdownItemOption, NavBar, DropdownMenu, DropdownItem, Icon, PullRefresh, Sticky, Collapse, CollapseItem, Loading, Form, Field, CellGroup, Popup, Picker, ActionBar, Button, Notify, Uploader, UploaderFileListItem, } from 'vant'; import { isArray } from 'lodash'; export default defineComponent({ name: 'IncidentManagementReport', setup() { const store = useIncidentStore(); const commonStore = useCommonStore(); const detail = computed(() => store.incidentDetail?.baseInfo); const addr = ref(''); const form = ref({ ...detail.value }); const formRef = ref(); const showCreateByPicker = ref(false); const showCreateTypeByPicker = ref(false); const route = useRoute(); const router = useRouter(); const isshowprew = ref(false); const videosrclist = reactive([]); const imagessrclist = reactive([]); const videop = ref(); const videopsrc = ref(""); const handleUpload = (file) => { upload(file).then((res) => { let type = /\w+([.jpg|.png|.gif|.swf|.bmp|.jpeg]){1}$/.test( res.data.fileName?.substr( res.data.fileName?.lastIndexOf('.') + 1 ) ?? '', ); if (!type) { videosrclist.push(res.data); } else { imagessrclist.push(res.data);; } }).catch((error)=>{ }); }; const handleSaveReport = () => { const { id } = route.query; const saveFn = id ? store.putIncidentItem : store.postIncidentItem; // console.log(formRef); const result = saveFn({ ...form.value, level: Number(form.value.level) ?? null, type: Number(form.value.type) ?? null, pic: imagessrclist.map((i: UploadData) => i.url).join(','), video: videosrclist.map((i: UploadData) => i.url).join(','), // status: route.params.status as unknown as number, }); }; onMounted(async () => { commonStore.getGlobalDict('zhdd_incident_level'); commonStore.getGlobalDict('zhdd_incident_type'); commonStore.getGlobalDict('zhdd_org_upload'); route.query.id && (await store.getIncidentItem(route.query.id as string)); addr.value = detail?.value?.addr ?? ''; if (detail.value) { form.value = cloneDeep(detail.value); } }); onUnmounted(() => { commonStore.uploadFiles = []; store.incidentDetail = {}; store.incidentDetail = { baseInfo: {}, process: [], task: [], }; }); return () => (