update 新增参与人员

This commit is contained in:
2026-04-17 14:08:58 +08:00
parent 44ff8a502b
commit 193cdeb1d4
5 changed files with 101 additions and 7 deletions

View File

@@ -238,3 +238,12 @@ export const togglePinProjectApi = (params: any) => {
export const getTaskAchieveStatisticsByDisciplineApi = (params: any) => { export const getTaskAchieveStatisticsByDisciplineApi = (params: any) => {
return post(`${PREFIX}node/getTaskAchieveStatisticsByDiscipline`, params); return post(`${PREFIX}node/getTaskAchieveStatisticsByDiscipline`, params);
}; };
// 删除团队成员
export const deleteNodeMemberApi = (params: any) => {
return post(`${PREFIX}node/deleteNodeMember`, params);
};
// 新增团队成员
export const addNodeMemberApi = (params: any) => {
return post(`${PREFIX}node/addNodeMember`, params);
};

View File

@@ -375,13 +375,14 @@ const lang = {
}, },
: { : {
: 'Project Detail', : 'Project Detail',
: 'Project Team Member', : 'Project Team Member(Project Execution Participants)',
: 'Basic Information', : 'Basic Information',
: 'Scheme Maintenance', : 'Scheme Maintenance',
: 'Batch Information', : 'Batch Information',
线: 'Production Line Information', 线: 'Production Line Information',
: 'Project User', : 'Project User(From EP)',
: 'Workspace Time', : 'Workspace Time',
: 'Participants (Temporary Project Participants)',
}, },
仿: { 仿: {
仿: 'Simulation Plan', 仿: 'Simulation Plan',

View File

@@ -370,13 +370,14 @@ const lang = {
}, },
: { : {
: '项目详情', : '项目详情',
: '团队成员', : '团队成员(参与项目执行的人员)',
: '基本信息', : '基本信息',
: '方案维护', : '方案维护',
: '批次信息', : '批次信息',
线: '产线信息', 线: '产线信息',
: '项目参与人员', : '项目参与人员从EP拉取的项目参与人员',
: '工位时间维护', : '工位时间维护',
: '参与人员(临时新增的项目参与人员)',
}, },
仿: { 仿: {
仿: '仿真策划', 仿: '仿真策划',

View File

@@ -3,9 +3,14 @@
ref="tableRef" ref="tableRef"
showIndex showIndex
table-name="NODE_TASK_TEAM" table-name="NODE_TASK_TEAM"
:params="{ projectNodeId: nodeLevel1Uuid }" :params="queryParams"
:api="getProjectMemberListApi" :api="getProjectMemberListApi"
:actionList="type === 'temporary-add' && isMember ? actionList : []"
:show-setting="type !== 'temporary-add'"
> >
<template #leftOptions v-if="type === 'temporary-add' && isMember">
<el-button type="primary" @click="diaVisible = true">新增</el-button>
</template>
<template #nickname="{ row }"> <template #nickname="{ row }">
{{ row.userInfo.nickname || '--' }} {{ row.userInfo.nickname || '--' }}
</template> </template>
@@ -31,6 +36,19 @@
{{ row.userInfo.sex || '--' }} {{ row.userInfo.sex || '--' }}
</template> </template>
</BaseTable> </BaseTable>
<Dialog v-model="diaVisible" diaTitle="新增人员" :width="400" @close="closeFun">
<div>
<TableForm ref="tableFormRef" tableName="ADD_USER_FORM" v-model:data="formData" />
</div>
<template #footer>
<div>
<el-button @click="closeFun">{{ $t('通用.取消') }}</el-button>
<el-button type="primary" :disabled="!formData.addNodeMemberIdList" @click="submitFun">{{
$t('通用.确定')
}}</el-button>
</div>
</template>
</Dialog>
<!-- <div class="organization"> <!-- <div class="organization">
<div class="level"> <div class="level">
<div class="node"> <div class="node">
@@ -77,15 +95,71 @@
</div> --> </div> -->
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { getProjectMemberListApi } from '@/api/project/node'; import { getProjectMemberListApi, deleteNodeMemberApi, addNodeMemberApi } from '@/api/project/node';
import BaseTable from '@/components/common/table/baseTable.vue'; import BaseTable from '@/components/common/table/baseTable.vue';
import { ref } from 'vue'; import { ref } from 'vue';
import { useI18n } from 'vue-i18n';
import { ElMessage } from 'element-plus';
import Dialog from '@/components/common/dialog/index.vue';
import TableForm from '@/components/common/table/tableForm.vue';
defineProps<{ const { t } = useI18n();
const props = defineProps<{
nodeLevel1Uuid: string; nodeLevel1Uuid: string;
type?: string;
isMember?: boolean;
}>(); }>();
const queryParams = ref<any>({
projectNodeId: props.nodeLevel1Uuid,
type: props.type,
});
const actionList = ref<any>([
{
title: t('通用.删除'),
type: 'danger',
needConfirm: true,
confirmTip: t('通用.确认删除吗'),
click: (row: any) => delUserFun(row),
},
]);
const tableRef = ref(); const tableRef = ref();
const delUserFun = async (row: any) => {
const params = {
projectId: props.nodeLevel1Uuid,
deleteNodeMemberIdList: [row.userId],
};
deleteNodeMemberApi(params).then((res: any) => {
if (res.code === 200) {
ElMessage.success('删除成功');
tableRef.value.resetFun();
} else {
ElMessage.error('删除失败');
}
});
};
const formData = ref<any>({});
const diaVisible = ref(false);
const closeFun = () => {
formData.value.addNodeMemberIdList = '';
diaVisible.value = false;
};
const submitFun = () => {
const params = {
projectId: props.nodeLevel1Uuid,
addNodeMemberIdList: formData.value.addNodeMemberIdList
? formData.value.addNodeMemberIdList.split(',')
: [],
};
addNodeMemberApi(params).then((res: any) => {
if (res.code === 200) {
ElMessage.success('添加成功');
tableRef.value.resetFun();
closeFun();
}
});
};
// const getProjectMemberListFun = async () => { // const getProjectMemberListFun = async () => {
// const res:any = await getProjectMemberListApi({ // const res:any = await getProjectMemberListApi({

View File

@@ -89,6 +89,15 @@
<teamMember v-if="projectUuid" :nodeLevel1Uuid="projectUuid" /> <teamMember v-if="projectUuid" :nodeLevel1Uuid="projectUuid" />
</div> </div>
<template v-if="enableConfigByTenant([TENANT_ENUM.LYRIC])"> <template v-if="enableConfigByTenant([TENANT_ENUM.LYRIC])">
<!-- <div class="section-block">
<div class="section-title">{{ $t('项目详情页.参与人员') }}</div>
<teamMember
v-if="projectUuid"
type="temporary-add"
:isMember="isMember"
:nodeLevel1Uuid="projectUuid"
/>
</div> -->
<div class="section-block"> <div class="section-block">
<div class="section-title">{{ $t('项目详情页.方案维护') }}</div> <div class="section-title">{{ $t('项目详情页.方案维护') }}</div>
<SchemeMaintain ref="schemeMaintainRef" :nodeId="projectUuid" /> <SchemeMaintain ref="schemeMaintainRef" :nodeId="projectUuid" />