fix : 修复组织机构显示及部门副职不能选择bug
This commit is contained in:
@@ -1,10 +1,14 @@
|
||||
<template>
|
||||
<baseTitle title="公司详情"></baseTitle>
|
||||
<fv-Form :schema="schema" @getInstance="(e)=>form = e"></fv-Form>
|
||||
<UserPicker :multiple="false" ref="presidentNamePicker" @ok="editPresident"></UserPicker>
|
||||
<UserPicker :multiple="false" ref="generalManagerNamePicker" @ok="editGeneralManager"></UserPicker>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {getCompanyDetail} from "@/api/subsidiary";
|
||||
<script setup lang="jsx">
|
||||
import UserPicker from '@/views/workflow/process/common/UserPicker.vue';
|
||||
import Ttsup from '@/views/system/department/components/ToolToShowUserPicker.vue'
|
||||
import {getCompanyDetail,setCompanyLeader} from "@/api/subsidiary";
|
||||
const props=defineProps({
|
||||
value:{
|
||||
type:String,
|
||||
@@ -12,6 +16,12 @@ const props=defineProps({
|
||||
}
|
||||
})
|
||||
const form = ref()
|
||||
const presidentName = ref()
|
||||
const presidentIds = ref()
|
||||
const generalManagerName = ref()
|
||||
const presidentNamePicker = ref()
|
||||
const generalManagerNamePicker = ref()
|
||||
const generalManagerIds = ref()
|
||||
const schema = reactive([
|
||||
{
|
||||
label: '公司名称:',
|
||||
@@ -21,6 +31,17 @@ const schema = reactive([
|
||||
label: '公司编码:',
|
||||
prop: 'companyCode'
|
||||
},
|
||||
{
|
||||
label: '董事长:',
|
||||
prop: 'presidentIds',
|
||||
component: ()=><Ttsup modelValue={presidentName.value} onClick={()=>{presidentNamePicker.value.showUserPicker()} } />
|
||||
|
||||
},
|
||||
{
|
||||
label: '总经理:',
|
||||
prop: 'generalManagerIds',
|
||||
component: ()=><Ttsup modelValue={generalManagerName.value} onClick={()=>{generalManagerNamePicker.value.showUserPicker()} } />
|
||||
},
|
||||
{
|
||||
label: '创建时间:',
|
||||
prop: 'createTime'
|
||||
@@ -35,10 +56,62 @@ const _value = computed({
|
||||
emit('update:value', value)
|
||||
}
|
||||
})
|
||||
const editPresident = (list) => {
|
||||
const arr = list.map(item=>item.name)
|
||||
presidentIds.value = list.map(item=>item.id)
|
||||
presidentName.value = arr.join(',')
|
||||
setDeptmentInfo({
|
||||
companyId: _value.value,
|
||||
presidentIds: presidentIds.value,
|
||||
generalManagerIds: generalManagerIds.value
|
||||
})
|
||||
}
|
||||
|
||||
const editGeneralManager = (list) => {
|
||||
const arr = list.map(item=>item.name)
|
||||
generalManagerIds.value = list.map(item=>item.id)
|
||||
generalManagerName.value = arr.join(',')
|
||||
setDeptmentInfo({
|
||||
companyId: _value.value,
|
||||
presidentIds: presidentIds.value,
|
||||
generalManagerIds: generalManagerIds.value
|
||||
})
|
||||
}
|
||||
|
||||
const setDeptmentInfo = async ({companyId = [], presidentIds = [], generalManagerIds = [] }) => {
|
||||
const params = {
|
||||
presidentIds,
|
||||
generalManagerIds,
|
||||
companyId,
|
||||
}
|
||||
const res = await setCompanyLeader(params)
|
||||
// console.log(res.data);
|
||||
}
|
||||
const getInfo = async () => {
|
||||
const { data } = await getCompanyDetail(_value.value)
|
||||
form.value.setValues(data)
|
||||
const params = {
|
||||
companyName: data.companyName,
|
||||
companyCode: data.companyCode,
|
||||
createTime: data.createTime
|
||||
}
|
||||
presidentIds.value = data.presidentIds
|
||||
generalManagerIds.value = data.generalManagerIds
|
||||
params.presidentIds = formatIdsToNames(data.presidentIds, data.presidentInfo, 'userId', 'nickName')
|
||||
presidentName.value = params.presidentIds
|
||||
params.generalManagerIds = formatIdsToNames(data.generalManagerIds, data.generalManagerInfo, 'userId', 'nickName')
|
||||
generalManagerName.value = params.generalManagerIds
|
||||
form.value.setValues(params)
|
||||
}
|
||||
|
||||
const formatIdsToNames = (ids, infoList, key, viewKey) => {
|
||||
const resArr = []
|
||||
if(!ids?.length) return
|
||||
ids.forEach(item=>{
|
||||
infoList.forEach(v=>{
|
||||
item == v[key] && resArr.push(v[viewKey])
|
||||
})
|
||||
})
|
||||
return resArr.join(',')
|
||||
}
|
||||
|
||||
getInfo()
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<fv-Form :schema="companySchema" @getInstance="(e)=>companyForm = e"></fv-Form>
|
||||
<baseTitle title="部门详情"></baseTitle>
|
||||
<fv-Form :schema="schema" @getInstance="(e)=>form = e"></fv-Form>
|
||||
<UserPicker ref="usrPickershipIds" @ok="editshipIds"></UserPicker>
|
||||
<UserPicker ref="usrPickerHeadIds" @ok="editheadIds"></UserPicker>
|
||||
<UserPicker ref="departmentalDeputyIds" @ok="editdeputyIds"></UserPicker>
|
||||
<UserPicker :multiple="false" ref="usrPickershipIds" @ok="editshipIds"></UserPicker>
|
||||
<UserPicker :multiple="false" ref="usrPickerHeadIds" @ok="editheadIds"></UserPicker>
|
||||
<UserPicker :multiple="false" ref="usrPickerDeputyIds" @ok="editdeputyIds"></UserPicker>
|
||||
</template>
|
||||
|
||||
<script setup lang="jsx">
|
||||
@@ -65,7 +65,7 @@ const schema = reactive([
|
||||
{
|
||||
label: '部门副职用户:',
|
||||
prop: 'departmentalDeputyIds',
|
||||
component: ()=><Ttsup modelValue={departmentalDeputyNames.value} onClick={()=>{departmentalDeputyIds.value.showUserPicker()} } />
|
||||
component: ()=><Ttsup modelValue={departmentalDeputyNames.value} onClick={()=>{usrPickerDeputyIds.value.showUserPicker()} } />
|
||||
},
|
||||
{
|
||||
label: '创建时间:',
|
||||
|
||||
Reference in New Issue
Block a user