Quellcode durchsuchen

导入数据增加弹窗选中择

duy vor 5 Tagen
Ursprung
Commit
74dc1b70b2
1 geänderte Dateien mit 75 neuen und 1 gelöschten Zeilen
  1. 75 1
      src/views/data-fill/collapse-form/index.vue

+ 75 - 1
src/views/data-fill/collapse-form/index.vue

@@ -771,6 +771,35 @@
             </div>
         </div>
     </hc-new-dialog>
+    <!-- 导入表格数据 -->
+
+    <hc-dialog v-model="uploadFileDialog" title="导入表格数据" @save="uploadFileClickSave">
+        <div class="dialog-content">
+            <!-- 提示文本 -->
+            <p class="mb-4 text-orange">* 提示:多页导入会自动复制表格生成数据</p>
+        
+            <!-- 表单内容 -->
+            <el-form
+                :model="uploadFileForm"
+            >
+                <el-form-item label="">
+                    <el-radio-group v-model="uploadFileForm.selectedOption">
+                        <el-radio :label="true">
+                            导入前 <el-input 
+                                v-model="uploadFileForm.pageSize" 
+                                style="width: 120px; display: inline-block" 
+                                placeholder="请输入页码"
+                                type="number"
+                                min="1"
+                            />
+                            <span class="ml-4">页表格</span>
+                        </el-radio>
+                        <el-radio :label="false" class="ml-8">全部</el-radio>
+                    </el-radio-group>
+                </el-form-item>
+            </el-form>
+        </div>
+    </hc-dialog>
 </template>
 
 <script setup>
@@ -2200,9 +2229,48 @@ const setActiveKey = (key) => {
 }
 //导入模板
 const checkItem = ref({})
+const uploadFileDialog = ref(false)
 //打开文件选择框
 const uploadFileClick = (item) => {
+    uploadFileDialog.value = true
     checkItem.value = item
+    // HcUploadFileApi({
+    //    // url: '/api/blade-manager/wbsTreeContract/import-excel',
+    //     url: '/api/blade-manager/wbsTreeContract/import-excel-list',
+    //     accept: '.png,.jpg,jpeg,.xls,.xlsx,.pdf,.doc,.docx',
+    //     accept_tip: '图片(png、jpg、jpeg)<br/>Excel(xls、xlsx)<br/>PDF<br/>Word(doc、docx)',
+    //     size: 80,
+    //     multiple: false,
+    //     params: { pKeyId: item.pkeyId },
+    //     success: async (file, res) => {
+    //         const refs = await getFormRef(item.pkeyId)
+    //         refs?.setFormData(res.data)
+    //         window.$message.success('文件上传成功')
+    //           renewData()
+    //     },
+    //     error: () => {
+    //         window.$message.error('文件上传失败')
+    //     },
+    // })
+}
+const uploadFileForm = ref({
+    pageSize:null,
+    selectedOption:null,
+})
+
+const uploadFileClickSave = ()=>{
+    if (uploadFileForm.value.selectedOption) {
+        if (!uploadFileForm.value.pageSize) {
+            window.$message.error('请输入页码')
+            return  
+        }
+    } else if (uploadFileForm.value.selectedOption === null) {
+        window.$message.error('请选择是否分页')
+        return  
+    } else if (uploadFileForm.value.selectedOption === false) {
+        uploadFileForm.value.pageSize = null
+    }
+    const item = checkItem.value
     HcUploadFileApi({
        // url: '/api/blade-manager/wbsTreeContract/import-excel',
         url: '/api/blade-manager/wbsTreeContract/import-excel-list',
@@ -2210,17 +2278,23 @@ const uploadFileClick = (item) => {
         accept_tip: '图片(png、jpg、jpeg)<br/>Excel(xls、xlsx)<br/>PDF<br/>Word(doc、docx)',
         size: 80,
         multiple: false,
-        params: { pKeyId: item.pkeyId },
+        params: { pKeyId: item.pkeyId, pageSize: uploadFileForm.value.pageSize },
         success: async (file, res) => {
             const refs = await getFormRef(item.pkeyId)
             refs?.setFormData(res.data)
             window.$message.success('文件上传成功')
+            uploadFileDialog.value = false
+            uploadFileForm.value = {
+                    pageSize:null,
+                    selectedOption:null,
+            }
               renewData()
         },
         error: () => {
             window.$message.error('文件上传失败')
         },
     })
+
 }
 
 const downloadLoading = ref(false)