[update] 企标流程标准化节点只能从流程与标准化部门里选人
This commit is contained in:
@@ -45,6 +45,7 @@
|
||||
input-type="textarea" />
|
||||
<user-selection v-else-if="step.chooseSource === 'user'"
|
||||
:type="step.chooseType"
|
||||
:isOnlySelectFromOneDept="onlySelectFromFlowStation.includes(step.xmlNodeId)"
|
||||
v-model="step.linkUserIds"
|
||||
:name-str="step.linkUserIds_dictText"
|
||||
:filedName="step.variableName"
|
||||
@@ -102,6 +103,14 @@ export default {
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
// 只能在标准与流程所里选人的节点
|
||||
onlySelectFromFlowStation: {
|
||||
type: Array,
|
||||
required: false,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
data () {
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
:getPopupContainer="triggerNode=> triggerNode.parentNode"
|
||||
style="width: 100%"
|
||||
:tree-data="categoryTreeList"
|
||||
:disabled="isOnlySelectFromOneDept"
|
||||
:placeholder="$t('pleaseSelect')"
|
||||
/>
|
||||
</a-form-item>
|
||||
@@ -110,6 +111,19 @@ export default {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true
|
||||
},
|
||||
// 固定只能从某个部门选人,与isOnlySelectFromSomeDept一起用
|
||||
fixDepart: {
|
||||
type: String,
|
||||
required: false,
|
||||
// 默认标准与流程所
|
||||
default: '流程与标准化'
|
||||
},
|
||||
// 是否固定只能从某个部门选人
|
||||
isOnlySelectFromOneDept: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -229,7 +243,8 @@ export default {
|
||||
isClickedSearch: false, // 改完搜索条件是否点击过搜索
|
||||
oldQueryParam: {}, // 上一次的搜索条件,用于从一个搜索条件改成另一个搜索条件,但是没有点搜索,这时候全选时传旧的搜索条件
|
||||
oldTotal: 0,
|
||||
currentQueryAllData: [] // 当前查询条件下的所有数据
|
||||
currentQueryAllData: [], // 当前查询条件下的所有数据
|
||||
fixDepartId: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -248,11 +263,33 @@ export default {
|
||||
queryDepartTreeList().then((res) => {
|
||||
if (res.success) {
|
||||
this.categoryTreeList = res.result
|
||||
// 固定只能从某个部门选人,查找该部门id
|
||||
if (this.isOnlySelectFromOneDept) {
|
||||
const targetNode = this.findNodeInTreeList(this.categoryTreeList, this.fixDepart)
|
||||
this.fixDepartId = targetNode.id
|
||||
this.queryParam.departId = targetNode.id
|
||||
}
|
||||
} else {
|
||||
this.categoryTreeList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
findNodeInTreeList (treeData, name) {
|
||||
let node = {}
|
||||
for (const item of treeData) {
|
||||
if (item.departName === name) {
|
||||
node = item
|
||||
break
|
||||
}
|
||||
if (item.children && item.children.length > 0) {
|
||||
node = this.findNodeInTreeList(item.children, name)
|
||||
if (node && node.id) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return node && node.id ? node : {}
|
||||
},
|
||||
// 初始化角色字典
|
||||
initRoleList () {
|
||||
queryall().then((res) => {
|
||||
@@ -325,6 +362,9 @@ export default {
|
||||
},
|
||||
searchReset () {
|
||||
this.queryParam = {}
|
||||
if (this.isOnlySelectFromOneDept) {
|
||||
this.queryParam.departId = this.fixDepartId
|
||||
}
|
||||
this.loadData(1)
|
||||
},
|
||||
searchQuery () {
|
||||
@@ -453,6 +493,7 @@ export default {
|
||||
showSizeChanger: true,
|
||||
total: 0
|
||||
}
|
||||
this.dataSource = []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user