|
|
|
@ -6,6 +6,16 @@ |
|
|
|
<!-- </span>--> |
|
|
|
<!-- </div>--> |
|
|
|
<el-form :inline="true" label-position="top" :model="searchData" @keyup.enter.native="getDataList()"> |
|
|
|
<el-form-item :label="'工厂描述'"> |
|
|
|
<el-select v-model="searchData.sitename" placeholder="请选择" clearable style="width: 140px"> |
|
|
|
<el-option |
|
|
|
v-for="item in authorizedSiteList" |
|
|
|
:key="item.site" |
|
|
|
:label="item.sitename" |
|
|
|
:value="item.sitename"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'文档类型ID'"> |
|
|
|
<el-input v-model="searchData.documentTypeId" style="width: 120px" clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
@ -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") |
|
|
|
|