From ec7f064d2dc26d9337eb518c2cd2db6a86062729 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Thu, 23 Jul 2026 09:37:39 +0800 Subject: [PATCH] =?UTF-8?q?site=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/eam/eamDocumentTypeDefinition.vue | 111 +++++++++++++++--- 1 file changed, 94 insertions(+), 17 deletions(-) diff --git a/src/views/modules/eam/eamDocumentTypeDefinition.vue b/src/views/modules/eam/eamDocumentTypeDefinition.vue index 2045316..dabbaa7 100644 --- a/src/views/modules/eam/eamDocumentTypeDefinition.vue +++ b/src/views/modules/eam/eamDocumentTypeDefinition.vue @@ -6,6 +6,16 @@ + + + + + + @@ -155,11 +165,11 @@ eamDocumentTypeSearch, eamDocumentTypeSave, eamDocumentTypeEdit, - eamDocumentTypeDelete, - // getSiteAndBuByUserName + eamDocumentTypeDelete } from "@/api/eam/eam.js" import { - getResponsibleDepartment + getResponsibleDepartment, + getSiteList } from "@/api/factory/site.js" import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {getTableDefaultListLanguage, getTableUserListLanguage} from "@/api/table.js" @@ -195,6 +205,7 @@ searchData: { site: this.$store.state.user.site, userName: this.$store.state.user.name, + sitename: '', documentTypeId: '', documentType: '', responsibleDepartment: '', @@ -228,6 +239,24 @@ departmentList:[], // 展示列集 columnList: [ + { + userId: this.$store.state.user.name, + functionId: 401001, + serialNumber: '401001Table1Sitename', + tableId: "401001Table1", + tableName: "文档类型定义表", + columnProp: 'sitename', + headerAlign: "center", + align: "left", + columnLabel: '工厂描述', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 120, + }, { userId: this.$store.state.user.name, functionId: 401001, @@ -418,7 +447,7 @@ // } // ] }, - // userBuList: [], + authorizedSiteList: [], authSearch: false, authSave: false, authUpdate: false, @@ -440,8 +469,8 @@ created () { // 按钮控制 this.getButtonAuthData() - // 获取用户的 site 和 bu - // this.getSiteAndBuByUserName() + // 获取当前用户已授权的工厂列表 + this.getAuthorizedSiteList() // 校验用户是否收藏 this.favoriteIsOk() // 动态列 @@ -461,17 +490,30 @@ } }) }, - // 获取用户的bu - // getSiteAndBuByUserName () { - // let tempData = { - // username: this.$store.state.user.name, - // } - // getSiteAndBuByUserName(tempData).then(({data}) => { - // if (data.code === 0) { - // this.userBuList = data.rows - // } - // }) - // }, + // 获取当前用户已授权的工厂(去重) + getAuthorizedSiteList () { + let tempData = { + username: this.$store.state.user.name, + } + getSiteList(tempData).then(({data}) => { + if (data.code === 0 && Array.isArray(data.row2)) { + const siteMap = new Map() + data.row2.forEach(item => { + const site = item.siteid || '' + const sitename = item.sitename || '' + if (site && sitename && !siteMap.has(site)) { + siteMap.set(site, { + site: site, + sitename: sitename + }) + } + }) + this.authorizedSiteList = Array.from(siteMap.values()) + } else { + this.authorizedSiteList = [] + } + }) + }, // 校验用户是否收藏 favoriteIsOk () { let userFavorite = { @@ -753,6 +795,7 @@ switch (columnId) { case 1: this.columnList = data.rows + this.ensureSitenameColumn() break; // case 2: // this.detailColumnList = data.rows @@ -782,6 +825,7 @@ switch (columnId) { case 1: this.columnList = data.rows + this.ensureSitenameColumn() break; // case 2: // this.detailColumnList = data.rows @@ -798,6 +842,39 @@ } }) }, + ensureSitenameColumn () { + if (!Array.isArray(this.columnList) || this.columnList.length === 0) { + return + } + if (this.columnList.some(item => item.columnProp === 'sitename')) { + return + } + const firstColumn = this.columnList[0] || {} + const sitenameColumn = { + userId: firstColumn.userId || this.$store.state.user.name, + functionId: firstColumn.functionId || this.$route.meta.menuId, + serialNumber: firstColumn.tableId ? (firstColumn.tableId + 'Sitename') : (this.$route.meta.menuId + 'Table1Sitename'), + tableId: firstColumn.tableId || (this.$route.meta.menuId + 'Table1'), + tableName: firstColumn.tableName || '文档类型定义表', + columnProp: 'sitename', + headerAlign: 'center', + align: 'left', + columnLabel: '工厂描述', + columnHidden: false, + columnImage: false, + columnSortable: false, + sortLv: 0, + status: true, + fixed: '', + columnWidth: 120, + } + const documentTypeIdIndex = this.columnList.findIndex(item => item.columnProp === 'documentTypeId') + if (documentTypeIdIndex > -1) { + this.columnList.splice(documentTypeIdIndex + 1, 0, sitenameColumn) + } else { + this.columnList.unshift(sitenameColumn) + } + }, //获取按钮的权限数据 getButtonAuthData () { let searchFlag = this.isAuth(this.menuId+":search")