From 592c1750b148874737cdfba4b22b6229f9805fe6 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期三, 02 七月 2025 14:55:27 +0800 Subject: [PATCH] 新增 --- src/views/build/conpanyFunctionConsult/industryTemplate/index.vue | 81 +++++++++++++++++++++++++--------------- 1 files changed, 50 insertions(+), 31 deletions(-) diff --git a/src/views/build/conpanyFunctionConsult/industryTemplate/index.vue b/src/views/build/conpanyFunctionConsult/industryTemplate/index.vue index 19c1ef3..632ba9c 100644 --- a/src/views/build/conpanyFunctionConsult/industryTemplate/index.vue +++ b/src/views/build/conpanyFunctionConsult/industryTemplate/index.vue @@ -20,10 +20,14 @@ </el-option> </el-select> </el-form-item> - <el-form-item v-if="isAdmin" label="行业:" > - <el-select v-model="data.queryParams.companyId" placeholder="请选择" clearable> - <el-option key="1" label="化工" :value="1"></el-option> - <el-option key="2" label="安防" :value="2"></el-option> + <el-form-item label="行业:" > + <el-select v-model="data.queryParams.industryType" placeholder="请选择" clearable> + <el-option + v-for="item in industryList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> </el-select> </el-form-item> <el-form-item > @@ -36,14 +40,10 @@ <el-table v-loading="loading" :data="dataList" :border="true"> <el-table-column label="序号" type="index" align="center" width="80"/> <el-table-column label="模板名称" prop="templateName" align="center"/> - <el-table-column label="行业" prop="industryType" align="center"> - <template #default="scope"> - {{getName(scope.row.industryType)}} - </template> - </el-table-column> + <el-table-column label="行业" prop="industryName" align="center" /> <el-table-column label="模板文件" prop="fileName" align="center"> <template #default="scope"> - <el-button link type="primary" @click="downloadFile(scope.row.filePath)">{{getName(scope.row.industryType) + '模板'}}</el-button> + <el-link style="" type="primary" @click="downloadFile(scope.row)">{{scope.row.fileName}}</el-link> </template> </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" > @@ -78,6 +78,9 @@ getIndustryTemp, } from "@/api/staffManage/staff"; import useUserStore from "@/store/modules/user"; +import axios from "axios"; +import {getToken} from "@/utils/auth"; +import {getIndustry} from "@/api/system/industry"; const userStore = useUserStore() const { proxy } = getCurrentInstance(); const loading = ref(false); @@ -86,34 +89,29 @@ queryParams: { pageNum: 1, pageSize: 10, - companyId: null + companyId: null, + industryType: null }, total: 0, dataList: [], companyList: [], + industryList: [], isAdmin: false, - typeList: [ - { - value: 1, - name: '化工' - }, - { - value: 2, - name: '安防' - } - ] + typeList: [] }); -const { queryParams, total, dataList,companyList, isAdmin } = toRefs(data); +const { queryParams, total, dataList,companyList,industryList, isAdmin } = toRefs(data); const userInfo = ref() onMounted(async ()=>{ if(userStore.roles.includes('admin')){ data.isAdmin = true + data.queryParams.companyId = null await getCompanyList() }else{ data.isAdmin = false data.queryParams.companyId = userStore.companyId } + await getIndustryList() await getList() }) @@ -133,6 +131,14 @@ loading.value = false } +const getIndustryList = async () => { + const res = await getIndustry() + if(res.code == 200){ + data.industryList = res.data.data + }else{ + ElMessage.warning(res.message) + } +} const getCompanyList = async ()=>{ const queryParams = { pageNum: 1, @@ -141,22 +147,34 @@ const res = await getCompany(queryParams) if (res.code == 200) { data.companyList = res.data.list?res.data.list:[] - data.queryParams.companyId = data.companyList[0].id + // data.queryParams.companyId = data.companyList[0].id } else { ElMessage.warning(res.message) } } -const downloadFile = (path)=>{ - window.open(import.meta.env.VITE_APP_BASE_API + '/' + path) -} - -const getName =(type)=>{ - return data.typeList.find(i=> i.value == type)?.name +const downloadFile = (e)=>{ + axios.get(import.meta.env.VITE_APP_BASE_API + '/' +e.filePath,{headers:{'Content-Type': 'application/json','Authorization': `${getToken()}`},responseType: 'blob'}).then(res=>{ + if (res) { + const link = document.createElement('a') + let blob = new Blob([res.data],{type: res.data.type}) + link.style.display = "none"; + link.href = URL.createObjectURL(blob); // 创建URL + link.setAttribute("download", e.fileName); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } else { + ElMessage({ + type: 'warning', + message: '文件读取失败' + }); + } + }) } const openDialog = (type, value) => { - dialogRef.value.openDialog(type, value, data.queryParams.companyId); + dialogRef.value.openDialog(type, value, data.queryParams.companyId, data.isAdmin, data.companyList); } /** 重置新增的表单以及其他数据 */ @@ -164,7 +182,8 @@ data.queryParams = { pageNum: 1, pageSize: 10, - companyId: null + companyId: null, + industryType: null } await getCompanyList() await getList() -- Gitblit v1.9.2