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