update 新增参与人员
This commit is contained in:
@@ -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);
|
||||||
|
};
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -370,13 +370,14 @@ const lang = {
|
|||||||
},
|
},
|
||||||
项目详情页: {
|
项目详情页: {
|
||||||
项目详情: '项目详情',
|
项目详情: '项目详情',
|
||||||
团队成员: '团队成员',
|
团队成员: '团队成员(参与项目执行的人员)',
|
||||||
基本信息: '基本信息',
|
基本信息: '基本信息',
|
||||||
方案维护: '方案维护',
|
方案维护: '方案维护',
|
||||||
批次信息: '批次信息',
|
批次信息: '批次信息',
|
||||||
产线信息: '产线信息',
|
产线信息: '产线信息',
|
||||||
项目参与人员: '项目参与人员',
|
项目参与人员: '项目参与人员(从EP拉取的项目参与人员)',
|
||||||
工位时间维护: '工位时间维护',
|
工位时间维护: '工位时间维护',
|
||||||
|
参与人员: '参与人员(临时新增的项目参与人员)',
|
||||||
},
|
},
|
||||||
仿真策划: {
|
仿真策划: {
|
||||||
仿真策划: '仿真策划',
|
仿真策划: '仿真策划',
|
||||||
|
|||||||
@@ -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({
|
||||||
|
|||||||
@@ -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" />
|
||||||
|
|||||||
Reference in New Issue
Block a user