duy 2 rokov pred
rodič
commit
f715be0f0d
2 zmenil súbory, kde vykonal 70 pridanie a 178 odobranie
  1. 8 0
      src/api/modules/data-fill/wbs.js
  2. 62 178
      src/views/data-fill/wbs.vue

+ 8 - 0
src/api/modules/data-fill/wbs.js

@@ -307,4 +307,12 @@ export default {
             params: form,
         }, msg)
     },
+    //查询当前节点下所有表的附件信息
+    async tablesAndFile(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/wbsTreeContract/search-node-tablesAndFile',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
 }

+ 62 - 178
src/views/data-fill/wbs.vue

@@ -625,190 +625,35 @@
             :footer="false" :show="attachmentModal" is-table title="附件列表" widths="780px"
             @close="attachmentModal = false"
         >
-            <div class="hc-attachment-card">
-                <div class="hc-attachment-header">
-                    表单名称
-                </div>
-                <div class="hc-attachment-content">
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
-                            </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
+            <div v-if="attachmentList.length > 0" v-loading="attachmentListLoaing">
+                <div v-for="item in attachmentList " :key="item.id" class="hc-attachment-card">
+                    <div class="hc-attachment-header">
+                        {{ item?.nodeName }}
                     </div>
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
+                    <div class="hc-attachment-content">
+                        <div v-for="item1 in item.fileList " :key="item1.id" class="hc-attachment-item">
+                            <div class="hc-attachment-file-name">
+                                <HcIcon name="attachment" />
+                                <div class="name">
+                                    {{ item1?.name }}
+                                </div>
                             </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
-                    </div>
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
+                            <div class="hc-attachment-btn-box">
+                                <el-button plain size="small" type="primary" @click="previewFile(item1)">
+                                    <HcIcon name="eye" />
+                                    <span>预览</span>
+                                </el-button>
+                                <el-button plain size="small" style="margin-left: 16px" type="danger" :loading="item1?.loading" @click="delFile(item1)">
+                                    <HcIcon name="close" />
+                                    <span>删除</span>
+                                </el-button>
                             </div>
                         </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
                     </div>
                 </div>
             </div>
-
-            <div class="hc-attachment-card">
-                <div class="hc-attachment-header">
-                    表单名称
-                </div>
-                <div class="hc-attachment-content">
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
-                            </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
-                    </div>
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
-                            </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
-                    </div>
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
-                            </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
-                    </div>
-                </div>
-            </div>
-
-            <div class="hc-attachment-card">
-                <div class="hc-attachment-header">
-                    表单名称
-                </div>
-                <div class="hc-attachment-content">
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
-                            </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
-                    </div>
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
-                            </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
-                    </div>
-                    <div class="hc-attachment-item">
-                        <div class="hc-attachment-file-name">
-                            <HcIcon name="attachment" />
-                            <div class="name">
-                                文件名称
-                            </div>
-                        </div>
-                        <div class="hc-attachment-btn-box">
-                            <el-button plain size="small" type="primary">
-                                <HcIcon name="eye" />
-                                <span>预览</span>
-                            </el-button>
-                            <el-button plain size="small" style="margin-left: 16px" type="danger">
-                                <HcIcon name="close" />
-                                <span>删除</span>
-                            </el-button>
-                        </div>
-                    </div>
-                </div>
+            <div v-else style="height: 100%;width: 100%;">
+                <HcNoData />
             </div>
         </HcDialog>
     </div>
@@ -2031,9 +1876,48 @@ const abolishOneSave = async () => {
 const attachmentModal = ref(false)
 const attachmentModalShow = () => {
     attachmentModal.value = true
+    getAttachmentList()
 }
+const attachmentListLoaing = ref(false)
+const attachmentList = ref([])
+const getAttachmentList = async ()=>{
+    attachmentListLoaing.value = true
+    const info = nodeDataInfo.value
+    const { error, code, data } = await wbsApi.tablesAndFile({
+        primaryKeyId: info?.primaryKeyId || '',
+        type: authBtnTabKey.value,
+        contractId:contractId.value,
+        projectId:projectId.value,
+    })
+    attachmentListLoaing.value = false
+    if (!error && code === 200) {
+        attachmentList.value = getArrValue(data)
+    
 
-
+    } else {
+        attachmentList.value = []
+    }
+ }
+ //预览
+ const previewFile = (item)=>{
+    window.open(item['domainPdfUrl'], '_blank')
+ }
+ //删除
+ const delFile = async (item)=>{
+    item.loading = true
+    const { error, code } = await wbsApi.removeBussFile({
+        ids: item.id,
+    })
+    item.loading = false
+    if (!error && code === 200) {
+        window?.$message?.success('删除成功')
+        getAttachmentList()
+        getTableDataAll()
+        return true
+    } else {
+        return false
+    }
+ }
 //划分变更
 const divisionClick = () => {
     router.push({