|
@@ -1,137 +0,0 @@
|
|
|
-<template>
|
|
|
- <div class="tempUpload">
|
|
|
- <a-modal v-model:visible="visibleUpload" centered :width="600" title="报表或模板上传" @ok="handleUploadOk"
|
|
|
- @cancel="handleUploadCancel">
|
|
|
- <a-form :model="uploadForm" :label-col="{ style: { width: '130px' } }" :wrapper-col="{ span: 16 }">
|
|
|
- <a-form-item label="文件名称:">
|
|
|
- <a-input v-model:value="uploadForm.fileName" placeholder="请输入文件名称..." />
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="业务种类:">
|
|
|
- <JDictSelectTag v-model:value="uploadForm.busKind" placeholder="请选择业务种类..." dictCode="reportBusKind"
|
|
|
- @change="changeKind" />
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="报表类型:">
|
|
|
- <JDictSelectTag v-if="kindType == 'ventSReport'" v-model:value="uploadForm.reportType"
|
|
|
- placeholder="请选择报表类型..." dictCode="ventSReport" />
|
|
|
- <JDictSelectTag v-if="kindType == 'fireSReport'" v-model:value="uploadForm.reportType"
|
|
|
- placeholder="请选择报表类型..." dictCode="fireSReport" />
|
|
|
- <JDictSelectTag v-if="kindType == 'dustSReport'" v-model:value="uploadForm.reportType"
|
|
|
- placeholder="请选择报表类型..." dictCode="dustSReport" />
|
|
|
- <JDictSelectTag v-if="kindType == 'gasSReport'" v-model:value="uploadForm.reportType"
|
|
|
- placeholder="请选择报表类型..." dictCode="gasSReport" />
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="模式类型:">
|
|
|
- <a-radio-group v-model:value="uploadForm.modelType" name="radioGroup">
|
|
|
- <a-radio v-for="item in radioList" :value="item.value">{{ item.label }}</a-radio>
|
|
|
- </a-radio-group>
|
|
|
- </a-form-item>
|
|
|
- <a-form-item label="文件上传">
|
|
|
- <a-upload :before-upload="beforeUpload" @remove="handleRemove" :multiple="false"
|
|
|
- :file-list="fileList">
|
|
|
- <a-button type="primary" preIcon="ant-design:cloud-upload-outlined">选择文件</a-button>
|
|
|
- </a-upload>
|
|
|
- </a-form-item>
|
|
|
- </a-form>
|
|
|
- </a-modal>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script setup lang="ts">
|
|
|
-import { ref, reactive, watch } from 'vue'
|
|
|
-import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
|
|
-import { getUpload } from '../../gasReportInspect.api'
|
|
|
-import { useMessage } from '/@/hooks/web/useMessage';
|
|
|
-
|
|
|
-let props = defineProps({
|
|
|
- visibleUp: {
|
|
|
- type: Number,
|
|
|
- default: 0
|
|
|
- }
|
|
|
-})
|
|
|
-
|
|
|
-let visibleUpload = ref(false)
|
|
|
-let uploadForm = reactive({
|
|
|
- fileName: '',
|
|
|
- busKind: '',
|
|
|
- modelType: '',
|
|
|
- reportType: '',
|
|
|
-})
|
|
|
-//模式类型数据
|
|
|
-let radioList = ref<any[]>([
|
|
|
- { label: '自动生成', value: 0 },
|
|
|
- { label: '手动填写', value: 1 },
|
|
|
- { label: '模板', value: 2 },
|
|
|
-])
|
|
|
-let kindType = ref('ventSReport')
|
|
|
-let fileList = reactive<any[]>([]); //上传文件列表
|
|
|
-const { createMessage } = useMessage();
|
|
|
-let emit = defineEmits(['resetUpload'])
|
|
|
-
|
|
|
-//确认上传
|
|
|
-async function handleUploadOk() {
|
|
|
- const formData = new FormData();
|
|
|
- formData.append('file', fileList[0]);
|
|
|
- formData.append('fileName', uploadForm.fileName);
|
|
|
- formData.append('busKind', uploadForm.busKind);
|
|
|
- formData.append('modelType', uploadForm.modelType);
|
|
|
- formData.append('reportType', uploadForm.reportType);
|
|
|
- let res = await getUpload(formData)
|
|
|
- if (res) {
|
|
|
- visibleUpload.value = false
|
|
|
- emit('resetUpload')
|
|
|
- }
|
|
|
-}
|
|
|
-//取消上传
|
|
|
-function handleUploadCancel() {
|
|
|
- visibleUpload.value = false
|
|
|
- uploadForm.modelType = ''
|
|
|
- uploadForm.fileName = ''
|
|
|
- uploadForm.reportType = ''
|
|
|
- uploadForm.busKind = ''
|
|
|
-}
|
|
|
-//业务种类下拉选项切换
|
|
|
-function changeKind(val) {
|
|
|
- kindType.value = `${val}Report`
|
|
|
-}
|
|
|
-//上传文件
|
|
|
-let beforeUpload = (file) => {
|
|
|
- fileList.length = 0;
|
|
|
- let index = file.name.indexOf('.');
|
|
|
- let name = file.name.substring(index + 1);
|
|
|
- if (name == 'png' || name == 'jpg' || name == 'gif' || name == 'psd' || name == 'webp') {
|
|
|
- createMessage.warning('禁止上传图片类型的文件!');
|
|
|
- } else {
|
|
|
- fileList.push(file);
|
|
|
- }
|
|
|
-};
|
|
|
-// 文件移除
|
|
|
-let handleRemove = (file) => {
|
|
|
- const index = fileList.indexOf(file);
|
|
|
- const newFileList = fileList.slice();
|
|
|
- newFileList.splice(index, 1);
|
|
|
- fileList.length = 0;
|
|
|
-};
|
|
|
-
|
|
|
-watch(() => props.visibleUp, (newV, oldV) => {
|
|
|
- fileList.length = 0
|
|
|
- visibleUpload.value = !visibleUpload.value
|
|
|
-})
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="less" scoped>
|
|
|
-.tempUpload {
|
|
|
- position: relative;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-.zxm-form {
|
|
|
- padding-top: 20px !important;
|
|
|
- box-sizing: border-box
|
|
|
-}
|
|
|
-
|
|
|
-:deep(.zxm-upload-list-item-name) {
|
|
|
- color: #fff !important;
|
|
|
-}
|
|
|
-</style>
|