[update] 企标流程标准化节点只能从流程与标准化部门里选人

This commit is contained in:
lideqin
2024-07-01 18:26:11 +08:00
parent 2cfe5b0bda
commit 3bdd48b83e
11 changed files with 80 additions and 20 deletions
+9
View File
@@ -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 () {
+42 -1
View File
@@ -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 = []
}
}
}
@@ -77,7 +77,7 @@
<!-- 人员信息 -->
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :processKey="ProcessKey.ES_ABOLISH.value">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="['relatedUserList']"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="['relatedUserList']" :onlySelectFromFlowStation="onlySelectFromFlowStation"></personnel-info>
</process-detail-list>
</div>
<!-- 操作按钮 -->
@@ -237,7 +237,8 @@ export default {
personnelInfoData: [],
url: {
list: '' // 人员信息的右侧表格获取接口
}
},
onlySelectFromFlowStation: [EsAnnulNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点
}
},
methods: {
@@ -78,7 +78,7 @@
<!-- 人员信息 -->
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :processKey="ProcessKey.ES_CHANGE.value">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :onlySelectFromFlowStation="onlySelectFromFlowStation"></personnel-info>
</process-detail-list>
</div>
<!-- 操作按钮 -->
@@ -248,7 +248,8 @@ export default {
url: {
list: '' // 人员信息的右侧表格获取接口
},
tempDraftId: '' // 临时草稿id,解决发起的时候点在线编辑会生成多条草稿的问题
tempDraftId: '', // 临时草稿id,解决发起的时候点在线编辑会生成多条草稿的问题
onlySelectFromFlowStation: [EsChangeNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点
}
},
methods: {
@@ -212,7 +212,7 @@
<!-- 人员信息 -->
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :processKey="ProcessKey.ES_INIT_CHANGE.value">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :onlySelectFromFlowStation="onlySelectFromFlowStation"></personnel-info>
</process-detail-list>
</div>
<!-- 操作按钮 -->
@@ -482,7 +482,8 @@ export default {
url: {
list: '' // 人员信息的右侧表格获取接口
},
isInitData: false // 是否正在初始化数据,正在初始化数据的时候不获取企标编号
isInitData: false, // 是否正在初始化数据,正在初始化数据的时候不获取企标编号
onlySelectFromFlowStation: [EsInitChangeNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点
}
},
methods: {
@@ -80,7 +80,7 @@
<!-- 人员信息 -->
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :processKey="ProcessKey.ES_RECHECK.value">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="notPermissField"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="notPermissField" :onlySelectFromFlowStation="onlySelectFromFlowStation"></personnel-info>
</process-detail-list>
</div>
<!-- 操作按钮 -->
@@ -285,7 +285,8 @@ export default {
approvalInfoForm: this.$form.createForm(this), // 审批信息表单
url: {
list: '' // 人员信息的右侧表格获取接口
}
},
onlySelectFromFlowStation: [EsRecheckNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点
}
},
methods: {
@@ -110,7 +110,7 @@
<!-- 人员信息 -->
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :processKey="ProcessKey.ES_EDIT.value">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :onlySelectFromFlowStation="onlySelectFromFlowStation"></personnel-info>
</process-detail-list>
</div>
@@ -370,7 +370,8 @@ export default {
flowInitType: 'newProcess', // 流程发起类型,是自动发起(auto)的还是从新建流程发起的(newProcess)
rejectBtnDisabled: false, // 驳回按钮是否置灰
agreeBtnDisabled: false, // 同意按钮是否置灰
tempDraftId: '' // 临时草稿id,解决发起的时候点在线编辑会生成多条草稿的问题
tempDraftId: '', // 临时草稿id,解决发起的时候点在线编辑会生成多条草稿的问题
onlySelectFromFlowStation: [EsRevisionNodes.standardizationAudit.value] // 只能在标准与流程所里选人的节点
}
},
methods: {
@@ -106,6 +106,7 @@
filedName="approvalUserStandard"
@nameChange="userSelectNameChange"
:nameStr="formInline.approvalUserStandard_dictText"
:isOnlySelectFromOneDept="true"
type="radio"/>
</a-form-model-item>
</div>
@@ -77,7 +77,7 @@
<!-- 人员信息 -->
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :processKey="ProcessKey.ES_ARCHIVE.value">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="['relatedUserList']"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="['relatedUserList']" :onlySelectFromFlowStation="onlySelectFromFlowStation"></personnel-info>
</process-detail-list>
</div>
<!-- 操作按钮 -->
@@ -237,7 +237,8 @@ export default {
personnelInfoData: [],
url: {
list: '' // 人员信息的右侧表格获取接口
}
},
onlySelectFromFlowStation: [EsSealSaveNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点
}
},
methods: {
@@ -77,7 +77,7 @@
<!-- 人员信息 -->
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :processKey="ProcessKey.ES_ENABLE.value">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="['relatedUserList']"></personnel-info>
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData" :currentNode="currentNodeId" :notPermissField="['relatedUserList']" :onlySelectFromFlowStation="onlySelectFromFlowStation"></personnel-info>
</process-detail-list>
</div>
<!-- 操作按钮 -->
@@ -237,7 +237,8 @@ export default {
personnelInfoData: [],
url: {
list: '' // 人员信息的右侧表格获取接口
}
},
onlySelectFromFlowStation: [EsStartUseNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点
}
},
methods: {
@@ -120,7 +120,8 @@
<div v-show="switchValue === 'user'" class="detail-page-scroll-content p-0">
<process-detail-list :process-key="processKey">
<template #personnelInfo>
<personnel-info-pap ref="personnelInfo" :data="personnelInfoData" :current-node="currentNode" />
<personnel-info ref="personnelInfo" :data="personnelInfoData" :current-node="currentNode" :onlySelectFromFlowStation="onlySelectFromFlowStation" />
<!-- <personnel-info-pap ref="personnelInfo" :data="personnelInfoData" :current-node="currentNode" />-->
</template>
</process-detail-list>
</div>
@@ -146,8 +147,8 @@
import '@assets/less/common.less'
import InternalDetailPage from '@comp/InternalDetailPage'
import ProcessDetailList from '@comp/ProcessDetailList'
// import PersonnelInfo from '@comp/PersonnelInfo'
import PersonnelInfoPap from './modules/PersonnelInfoPap'
import PersonnelInfo from '@comp/PersonnelInfo'
// import PersonnelInfoPap from './modules/PersonnelInfoPap'
import BaseInfoTable from '@views/workCenter/permissionApplicationProcess/modules/BaseInfoTable'
import UserSelectModal from '@comp/selection/UserSelectModal'
import { WorkCenterMixin } from '@/mixins/WorkCenterMixin'
@@ -164,7 +165,7 @@ import { cloneDeep } from 'lodash'
const tabList = ['base', 'user']
export default {
name: 'PermissionApplicationProcess',
components: { PersonnelInfoPap, UserSelectModal, BaseInfoTable, ProcessDetailList, InternalDetailPage },
components: { PersonnelInfo, UserSelectModal, BaseInfoTable, ProcessDetailList, InternalDetailPage },
mixins: [WorkCenterMixin],
data () {
return {
@@ -241,7 +242,8 @@ export default {
// 业务表单
baseInfoForm: this.$form.createForm(this),
// 流程审批信息表单
approvalInfoForm: this.$form.createForm(this)
approvalInfoForm: this.$form.createForm(this),
onlySelectFromFlowStation: [PermissionApply.standardApproval.value] // 只能在标准与流程所里选人的节点
}
},
computed: {