From 9e4ea4987852902539e91ec438150c1deaa89742 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 25 七月 2025 17:15:04 +0800
Subject: [PATCH] 修改

---
 src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue |  121 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 105 insertions(+), 16 deletions(-)

diff --git a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue
index bc5f160..e0f0bf2 100644
--- a/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue
+++ b/src/views/build/conpanyFunctionConsult/digitalFileDep/project/projectFile/index.vue
@@ -22,6 +22,26 @@
             />
           </el-select>
         </el-form-item>
+        <el-form-item style="margin-left: 15px" label="项目名称:">
+          <el-select v-model="data.queryParams.itemId"
+                     filterable
+                     placeholder="请选择"
+                     clearable style="width: 100%"
+                     @change="changePro"
+                    >
+            <el-option
+                v-for="item in data.projectList"
+                :key="item.id"
+                :label="item.itemName"
+                :value="item.id">
+            </el-option>
+          </el-select>
+
+        </el-form-item>
+        <el-form-item style="margin-left: 15px">
+          <el-button  type="primary" @click="query">查询</el-button>
+          <el-button  type="primary" plain @click="reset">重置</el-button>
+        </el-form-item>
         <el-form-item>
           <el-button
               style="margin-left: 15px"
@@ -67,6 +87,7 @@
           <el-table style="margin:15px 0;width: 100%" :data="state.form.dataList" :border="true" >
             <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
             <el-table-column label="目录" prop="catalogueName" align="center" width="130"  :show-overflow-tooltip="true" />
+            <el-table-column label="项目名称" prop="itemName" align="center" width="130"  :show-overflow-tooltip="true" />
             <el-table-column label="文件编号" prop="number" align="center"  />
             <el-table-column label="文件名称" prop="fileNameSimple" align="center"  />
             <el-table-column label="文件" prop="fileName" align="center" >
@@ -113,7 +134,7 @@
 import axios from "axios";
 import TEditor from "@/components/Tinymce/Tinymce.vue";
 import {renderAsync} from "docx-preview";
-import {delProductFile, getProductFilePage} from "@/api/selfProblems/productFile";
+import {delProductFile, getProductFilePage, getProductSet} from "@/api/selfProblems/productFile";
 import {generateWordDocument} from "@/utils/exportWord";
 
 const { proxy } = getCurrentInstance();
@@ -128,9 +149,12 @@
   queryParams: {
     type: 3,
     companyId: null,
+    itemId: null,
   },
   companyList: [],
+  projectList: [],
   isAdmin: false,
+  userId: null,
   defaultProps: {
     children: 'children',
     label: 'name',
@@ -154,6 +178,8 @@
   const userInfo = JSON.parse(Cookies.get('userInfo'))
   console.log("userInfo",userInfo)
   data.isAdmin = userInfo.userType === 0;
+  data.userId = userInfo.id
+
   if(data.isAdmin){
     await getCompanyList()
     data.queryParams.companyId = data.companyList[0].id
@@ -163,6 +189,7 @@
     data.queryParams.companyId = userInfo.companyId
     state.form.companyId = userInfo.companyId
   }
+  await getProjectList()
   await getList();
   if(data.treeData.length >0){
     // state.form.catalogueId = data.treeData[0].id
@@ -171,7 +198,24 @@
 
   }
 
+
 })
+const getProjectList = async () => {
+  const param = {
+    companyId: data.queryParams.companyId,
+    userId: data.isAdmin ? null : data.userId
+  }
+  const res = await getProductSet(param);
+  if(res.code === 200){
+    data.projectList = res.data
+    // if(res.data && res.data.length >0 ){
+    //   data.queryParams.itemId = res.data[0].id
+    // }
+  }else{
+    ElMessage.warning(res.message)
+  }
+
+}
 const getList = async () => {
   data.treeData = [];
   loading.value = true;
@@ -263,15 +307,23 @@
       state.form.companyId = item.id
     }
   })
-  await getList()
-  if(data.treeData.length >0 ){
-    // state.form.catalogueId = data.treeData[0].id
-    // currentSelectedKey.value = state.form.catalogueId
-    await getFileList()
-  }else {
-    state.form.dataList = []
-  }
+  data.projectList = []
+  data.queryParams.itemId = null
+  await getProjectList()
 
+  // await getList()
+  // if(data.treeData.length >0 ){
+  //   // state.form.catalogueId = data.treeData[0].id
+  //   // currentSelectedKey.value = state.form.catalogueId
+  //   await getFileList()
+  // }else {
+  //   state.form.dataList = []
+  // }
+
+}
+const changePro = () => {
+  state.form.id = ''
+  state.form.catalogueId = null
 }
 
 const handleNodeClick = async (val) => {
@@ -318,11 +370,21 @@
   }
 }
 const openDataDialog = (type, value) => {
+  if(type =='edit'){
+    state.form.catalogueId = value.catalogueId
+  }
   if(!state.form.catalogueId){
     ElMessage.warning('请先选择左侧目录!')
     return
   }
-  dialogRef.value.openDialog(type, value, state.form.companyId,state.form.catalogueId);
+  dialogRef.value.openDialog(type, value, state.form.companyId,state.form.catalogueId,data.userId);
+  nextTick(() => {
+    if(!currentSelectedKey.value){
+      state.form.catalogueId = null
+    }
+  })
+
+
 }
 const openRecordDialog = (type, value) => {
   if(!state.form.catalogueId){
@@ -392,23 +454,47 @@
 }
 const reset = async () => {
   data.queryParams = {
-    companyId: '',
+    companyId: data.isAdmin ? null : data.queryParams.companyId,
     pageNum: 1,
     pageSize: 10,
+    itemId: null,
   }
+  state.form.id = ''
+  state.form.catalogueId = null
   data.companyList = [];
+  data.treeData = []
+  if(data.isAdmin){
+    await  getCompanyList()
+    data.queryParams.companyId = data.companyList[0].id
+    data.queryParams.companyName = data.companyList[0].name
+    state.form.companyId = data.companyList[0].id
+  }
+  await getProjectList();
   await getList();
-  await  getCompanyList()
-  data.queryParams.companyId = data.companyList[0].id
-  data.queryParams.companyName = data.companyList[0].name
-  state.form.companyId = data.companyList[0].id
+  if(data.treeData.length >0 ){
+    await getFileList()
+  }else {
+    state.form.dataList = []
+  }
+
+
+}
+const query = async () => {
+  await getList()
+  if(data.treeData.length >0 ){
+    await getFileList()
+  }else {
+    state.form.dataList = []
+  }
+
 }
 
 const getFileList = async () => {
   const queryParams = {
     companyId: state.form.companyId,
     catalogueId: state.form.catalogueId,
-    type: 2
+    type: 2,
+    itemId: data.queryParams.itemId
   }
   const res = await getProductFilePage(queryParams)
   if (res.code == 200) {
@@ -534,6 +620,8 @@
     }
   })
   const caralogList = idGroupToTree(dataList)
+  const itemList = idGroupToTree(data.projectList)
+
   table.tableList = caralogList.map((item,index) => {
     return {
       ...item,
@@ -565,6 +653,7 @@
     children: items
   }));
 }
+
 </script>
 
 <style scoped lang="scss">

--
Gitblit v1.9.2