Browse Source

材料进场附件上传预览修改

duy 2 năm trước cách đây
mục cha
commit
913c3e1b5a

+ 8 - 0
src/api/modules/tentative/material/approach.js

@@ -57,4 +57,12 @@ export default {
             params: form
         }, msg);
     },
+     //材料进场附件附件修改接口:
+     async updateMobilizationFile(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-business/material/mobilization/upload-file',
+            method: 'post',
+            data: form
+        }, msg);
+    },
 }

+ 1 - 1
src/views/tentative/detect/components/HcDragUpload.vue

@@ -7,7 +7,7 @@
             <div class="el-upload__text">拖动文件到这里 或 <em>点击这里选择文件</em> 并上传</div>
         </div>
         <template #tip>
-            <div class="el-upload__tip" style="font-size: 14px;">允许格式:jpg/png/pdf/excel/word, 文件大小 小于 60MB</div>
+            <div class="el-upload__tip" style="font-size: 14px;">允许格式:jpg/png/pdf/word, 文件大小 小于 60MB</div>
         </template>
     </el-upload>
 </template>

+ 47 - 14
src/views/tentative/material/approach.vue

@@ -181,12 +181,22 @@
             </template>
             <div class="hc-switch-tab-content">
                 <div class="h-full w-full">
-                    <iframe allow="display-capture" width='100%' height='100%' frameborder='1' :src="tableRowData[tabTypeKey]" v-if="tableRowData[tabTypeKey]"/>
+                    <div v-if="tableRowData[tabTypeKey]">
+                        <iframe allow="display-capture" width='100%' height='100%' frameborder='1' :src="tableRowData[tabTypeKey]" style="height:500px;width:90%" />
+                        <el-button type="primary" hc-btn :loading="importModalLoading" @click="deleteFile" style="margin-bottom: 30px;margin-left:5px">
+                            <HcIcon name="delete-bin-2"/>
+                            <span>删除</span>
+                        </el-button>
+                    </div>
+                    
                     <div class="hc-no-table-form" v-else>
                         <div class="table-form-no">
                             <img :src="notableform" alt=""/>
                             <div class="desc">暂无 PDF 数据,请上传</div>
-                            <HcDragUpload autoUpload @progress="tableRowPdfProgress" @finished="tableRowPdfFinished"/>
+                            <HcDragUpload autoUpload @progress="tableRowPdfProgress" @finished="tableRowPdfFinished"  :action="'endpoint/put-file-attach'" 
+                            :accept="'image/png,image/jpg,image/jpeg,application/pdf,.doc,.docx,application/msword'"
+                            :formatTip="'允许格式:jpg/png/pdf/word'"
+                            />
                         </div>
                     </div>
                 </div>
@@ -206,7 +216,7 @@
 </template>
 
 <script setup>
-import {ref, onMounted} from "vue";
+import {ref,onMounted} from "vue";
 import {useAppStore} from "~src/store";
 import HcDragUpload from "./components/HcDragUpload.vue"
 import FormItemUpload from "./components/FormItemUpload.vue"
@@ -615,13 +625,15 @@ const viewAttachmentModalClick = (row) => {
 
 //类型tab数据和相关处理
 const tabTypeKey = ref('productionCertificate')
+const tabTypeKeyType=ref(1)
 const tabTypeTab = ref([
-    {key:'productionCertificate',  name: '生产合格证'},
-    {key:'qualityInspectionReport', name: '厂家质检报告'},
-    {key:'otherAccessories', name: '其他文件'},
+    {key:'productionCertificate',  name: '生产合格证',type:1},
+    {key:'qualityInspectionReport', name: '厂家质检报告',type:2},
+    {key:'otherAccessories', name: '其他文件',type:3},
 ]);
 const tabTypeChange = (item) => {
     tabTypeKey.value = item?.key
+    tabTypeKeyType.value=item?.type
 }
 
 //上传进度
@@ -631,15 +643,31 @@ const tableRowPdfProgress = (res) => {
 }
 
 //上传完成
-const tableRowPdfFinished = async (data) => {
+const tableRowPdfFinished = async (data1) => {
+    console.log(data1,'data');
     tableRowPdfDisabled.value = true
     const row = tableRowData.value, key = tabTypeKey.value
-    row[key] = data?.pdfUrl
-    //保存请求
-    const { error, code } = await approachApi.submitForm({
-        ...row,
-        projectId: projectId.value,
-        contractId: contractId.value
+    row[key] = data1?.link
+    console.log(row,'row');
+    // //保存请求
+    // const { error, code } = await approachApi.submitForm({
+    //     ...row,
+    //     projectId: projectId.value,
+    //     contractId: contractId.value
+    // })
+    // //处理数据
+    // tableRowData.value = row
+    // tableRowPdfDisabled.value = false
+    // if (!error && code === 200) {
+    //     window?.$message?.success('操作成功')
+    //     await getTableData()
+    // }
+    const { error, code, data } = await approachApi.updateMobilizationFile(
+    {
+        id:row.id,
+        type: tabTypeKeyType.value,
+        url:data1?.link,
+       
     })
     //处理数据
     tableRowData.value = row
@@ -649,7 +677,12 @@ const tableRowPdfFinished = async (data) => {
         await getTableData()
     }
 }
-
+//删除上传附件
+const deleteFile=()=>{
+    console.log('删除');
+    console.log(tableRowData.value[tabTypeKey]);
+    tableRowData.value[tabTypeKey.value]=''
+}
 //关闭查看附件
 const viewAttachmentModalClose = () => {
     viewAttachmentModal.value = false

+ 10 - 3
src/views/tentative/material/components/HcDragUpload.vue

@@ -1,5 +1,5 @@
 <template>
-    <el-upload ref="uploadRef" class="hc-upload-border approach" drag :action="api + action" :headers="getTokenHeader()" :data="uploadData" :accept="accept" :disabled="uploadDisabled" :limit="1" :show-file-list="false"
+    <el-upload ref="uploadRef" class="hc-upload-border approach" drag :action="api + actionData" :headers="getTokenHeader()" :data="uploadData" :accept="acceptData" :disabled="uploadDisabled" :limit="1" :show-file-list="false"
                :before-upload="beforeUpload" :on-exceed="uploadExceed" :on-progress="uploadprogress" :on-success="uploadSuccess" :on-error="uploadError" :on-change="uploadChange" :auto-upload="autoUpload">
         <div class="hc-upload-loading upload-file-info" v-loading="uploadDisabled" element-loading-text="上传中...">
             <template v-if="uploadFileInfo?.name">
@@ -53,16 +53,23 @@ const props = defineProps({
 //变量
 const uploadRef = ref(null)
 const uploadData = ref(props.datas)
+const actionData=ref(props.action)
+const acceptData=ref(props.accept)
 const uploadFileInfo = ref({})
 const uploadDisabled = ref(false)
 
-const api = '/api/blade-business/material/';
+// const api = '/api/blade-business/material/';
+const api = '/api/blade-resource/oss/';
 
 //监听
 watch(() => [
     props.datas,
-], ([datas]) => {
+    props.action,
+    props.accept
+], ([datas,action,accept]) => {
     uploadData.value = datas
+    actionData.value=action
+    acceptData.value=accept
 })
 
 //事件