|
|
@@ -234,29 +234,33 @@ export default {
|
|
|
searchParam['Q^xing_neng_zhi_bia^SL'] = this.searchFormData.xingNengZhiBiao
|
|
|
searchParam['Q^shi_yan_xiang_mu_^S'] = this.searchFormData.shiYanXiangMu
|
|
|
searchParam['Q^shi_yan_fang_fa_^S'] = this.searchFormData.shiYanFangFa
|
|
|
+
|
|
|
const userRole = this.$store.getters.userInfo.role || []
|
|
|
const jsfzrFlag = userRole.some(role => role.alias === 'jsfzr')
|
|
|
- const zcFlag = userRole.some(role => role.alias === 'zhsfzr')
|
|
|
- // 技术负责人,看到已审核的数据
|
|
|
+ const zcFlag = userRole.some(role => role.alias === 'zhsfzr')
|
|
|
+
|
|
|
+ // 技术负责人,看到已审核的数据
|
|
|
if (jsfzrFlag) {
|
|
|
- searchParam['Q^shi_fou_guo_shen_^S'] = '已审核'
|
|
|
- return ActionUtils.formatParams(searchParam, this.pagination, this.sorts)
|
|
|
+ searchParam['Q^shi_fou_guo_shen_^S'] = '已审核'
|
|
|
+ return ActionUtils.formatParams(searchParam, this.pagination, this.sorts)
|
|
|
}
|
|
|
- if (zcFlag) {// 专业组组长,看到自己主部门已编制的数据
|
|
|
- searchParam['Q^shi_fou_guo_shen_^S'] = '已编制'
|
|
|
- const { mainPosition } = this.$store.getters //主部门数据
|
|
|
- if (mainPosition) {
|
|
|
- searchParam['Q^bian_zhi_bu_men_^S'] = mainPosition.id
|
|
|
- }
|
|
|
- return ActionUtils.formatParams(searchParam, this.pagination, this.sorts)
|
|
|
- }
|
|
|
- //系统管理员 看到所有已编制\已审核数据
|
|
|
-
|
|
|
- let parameters = [ //默认查询
|
|
|
- {
|
|
|
- parameters: [
|
|
|
+
|
|
|
+ // 专业组组长,看到自己部门已编制的数据
|
|
|
+ if (zcFlag) {
|
|
|
+ searchParam['Q^shi_fou_guo_shen_^S'] = '已编制'
|
|
|
+
|
|
|
+ const positions = this.$store.getters.userInfo.positions || []
|
|
|
+ if (positions.length > 0) {
|
|
|
+ // 动态构建部门查询条件
|
|
|
+ const departmentParams = positions.map((position, index) => ({
|
|
|
+ key: 'Q^bian_zhi_bu_men_^S',
|
|
|
+ value: position.id,
|
|
|
+ param: `bumen${index + 1}`
|
|
|
+ }))
|
|
|
+
|
|
|
+ // 构建查询参数
|
|
|
+ const parameters = [
|
|
|
{
|
|
|
- relation: 'OR',
|
|
|
parameters: [
|
|
|
{
|
|
|
key: 'Q^shi_fou_guo_shen_^S',
|
|
|
@@ -264,51 +268,93 @@ export default {
|
|
|
param: 'status'
|
|
|
},
|
|
|
{
|
|
|
- key: 'Q^shi_fou_guo_shen_^S',
|
|
|
- value: '已审核',
|
|
|
- param: 'status1'
|
|
|
+ relation: 'OR',
|
|
|
+ parameters: departmentParams
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
]
|
|
|
+
|
|
|
+ // 处理搜索栏的其他查询条件
|
|
|
+ this.handleAdditionalSearchParams(searchParam, parameters)
|
|
|
+
|
|
|
+ return {
|
|
|
+ parameters: parameters,
|
|
|
+ ...ActionUtils.formatParams(null, this.pagination, this.sorts)
|
|
|
+ }
|
|
|
}
|
|
|
- ]
|
|
|
- if (Object.keys(searchParam).length) { // 搜索栏查询
|
|
|
- // 查询条件不为空,则加入parameters
|
|
|
- const statusArr = Object.keys(searchParam).filter((key) =>
|
|
|
+
|
|
|
+ // 如果没有部门信息,直接返回基础参数
|
|
|
+ return ActionUtils.formatParams(searchParam, this.pagination, this.sorts)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 系统管理员和其他用户 - 看到所有已编制\已审核数据,不限制部门
|
|
|
+ return this.buildDefaultSearchParams(searchParam)
|
|
|
+ },
|
|
|
+
|
|
|
+ // 处理额外的搜索参数
|
|
|
+ handleAdditionalSearchParams(searchParam, parameters) {
|
|
|
+ if (Object.keys(searchParam).length) {
|
|
|
+ const statusArr = Object.keys(searchParam).filter(key =>
|
|
|
key.includes('shi_fou_guo_shen_')
|
|
|
)
|
|
|
const notstatusArr = Object.keys(searchParam).filter(
|
|
|
- (key) => key.includes('shi_fou_guo_shen_') === false
|
|
|
+ key => !key.includes('shi_fou_guo_shen_')
|
|
|
)
|
|
|
+
|
|
|
+ // 更新状态查询条件
|
|
|
if (statusArr.length > 0) {
|
|
|
- // 加入搜索栏状态查询
|
|
|
parameters[0].parameters[0] = {
|
|
|
key: statusArr[0],
|
|
|
value: searchParam[statusArr[0]],
|
|
|
param: 'status'
|
|
|
}
|
|
|
}
|
|
|
- if (notstatusArr.length > 0) {
|
|
|
- // 加入搜索栏其他查询
|
|
|
- notstatusArr.forEach((el) => {
|
|
|
- parameters[0].parameters.push({
|
|
|
- key: el,
|
|
|
- value: searchParam[el]
|
|
|
- })
|
|
|
+
|
|
|
+ // 添加其他查询条件
|
|
|
+ notstatusArr.forEach(el => {
|
|
|
+ parameters[0].parameters.push({
|
|
|
+ key: el,
|
|
|
+ value: searchParam[el]
|
|
|
})
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
+ // 构建默认搜索参数(管理员和其他用户)
|
|
|
+ buildDefaultSearchParams(searchParam) {
|
|
|
+ const parameters = [
|
|
|
+ {
|
|
|
+ parameters: [
|
|
|
+ {
|
|
|
+ relation: 'OR',
|
|
|
+ parameters: [
|
|
|
+ {
|
|
|
+ key: 'Q^shi_fou_guo_shen_^S',
|
|
|
+ value: '已编制',
|
|
|
+ param: 'status'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'Q^shi_fou_guo_shen_^S',
|
|
|
+ value: '已审核',
|
|
|
+ param: 'status1'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ // 管理员不添加部门限制条件
|
|
|
+ ]
|
|
|
}
|
|
|
+ ]
|
|
|
+
|
|
|
+ // 处理搜索栏的查询条件
|
|
|
+ if (Object.keys(searchParam).length) {
|
|
|
+ this.handleAdditionalSearchParams(searchParam, parameters)
|
|
|
}
|
|
|
- const param = {
|
|
|
+
|
|
|
+ return {
|
|
|
parameters: parameters,
|
|
|
...ActionUtils.formatParams(null, this.pagination, this.sorts)
|
|
|
}
|
|
|
- return param
|
|
|
- // parameters[0].parameters.push({
|
|
|
- // key: 'Q^di_dian_^S',
|
|
|
- // value: second || first
|
|
|
- // })
|
|
|
},
|
|
|
/**
|
|
|
* 处理分页事件
|