From 3e44eecdc4e024f26604033600b18bc74ac72917 Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Fri, 15 Dec 2023 18:18:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=B9=B2=E7=B3=BB=E4=BA=BA?= =?UTF-8?q?=E5=8F=8A=E6=88=90=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/project_stakeholder.ts | 26 ++ src/components/personnelselector/index.vue | 399 +++++++++++++++++++++ src/views/project_member/detail.vue | 19 +- src/views/project_member/edit.vue | 45 ++- src/views/project_member/index.vue | 25 +- src/views/project_stakeholder/detail.vue | 147 ++++++++ src/views/project_stakeholder/edit.vue | 231 ++++++++++++ src/views/project_stakeholder/index.vue | 173 +++++++++ src/views/project_wbs_set/edit.vue | 2 +- 9 files changed, 1040 insertions(+), 27 deletions(-) create mode 100644 src/api/project_stakeholder.ts create mode 100644 src/components/personnelselector/index.vue create mode 100644 src/views/project_stakeholder/detail.vue create mode 100644 src/views/project_stakeholder/edit.vue create mode 100644 src/views/project_stakeholder/index.vue diff --git a/src/api/project_stakeholder.ts b/src/api/project_stakeholder.ts new file mode 100644 index 0000000..58fa70d --- /dev/null +++ b/src/api/project_stakeholder.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 项目干系人表列表 +export function apiProjectstakeholderLists(params: any) { + return request.get({ url: '/project.project_stakeholder/lists', params }) +} + +// 添加项目干系人 +export function apiProjectstakeholderAdd(params: any) { + return request.post({ url: '/project.project_stakeholder/add', params }) +} + +// 编辑项目干系人 +export function apiProjectstakeholderEdit(params: any) { + return request.post({ url: '/project.project_stakeholder/edit', params }) +} + +// 删除项目干系人 +export function apiProjectstakeholderDelete(params: any) { + return request.post({ url: '/project.project_stakeholder/delete', params }) +} + +// 项目干系人详情 +export function apiProjectstakeholderDetail(params: any) { + return request.get({ url: '/project.project_stakeholder/detail', params }) +} diff --git a/src/components/personnelselector/index.vue b/src/components/personnelselector/index.vue new file mode 100644 index 0000000..3743247 --- /dev/null +++ b/src/components/personnelselector/index.vue @@ -0,0 +1,399 @@ + + + + + \ No newline at end of file diff --git a/src/views/project_member/detail.vue b/src/views/project_member/detail.vue index 52769e3..1654aae 100644 --- a/src/views/project_member/detail.vue +++ b/src/views/project_member/detail.vue @@ -18,24 +18,27 @@ - - {{ formData.material_budget_expenditure_ratio }} + + {{ formData.project_role_name + }} - - {{ formData.labour_budget_expenditure_ratio }} + + {{ formData.admin_name + }} - - {{ formData.cost_budget_expenditure_ratio }} + + {{ formData.working_unit_price }} - - {{ formData.subcontract_budget_expenditure_ratio }} + + {{ formData.remark + }} diff --git a/src/views/project_member/edit.vue b/src/views/project_member/edit.vue index 2b3e260..a433f44 100644 --- a/src/views/project_member/edit.vue +++ b/src/views/project_member/edit.vue @@ -12,8 +12,15 @@ - - + + + + + + + + + @@ -35,6 +42,7 @@ + @@ -42,8 +50,9 @@ import type { FormInstance } from 'element-plus' import Popup from '@/components/popup/index.vue' import projectDialog from '@/components/project/index.vue' +import personnelselector from '@/components/personnelselector/index.vue' import { apiProjectmemberAdd, apiProjectmemberEdit, apiProjectmemberDetail } from '@/api/project_member' - +import { getAllProjectRoles } from '@/api/project_role_set' import { timeFormat } from '@/utils/util' import type { PropType } from 'vue' defineProps({ @@ -55,8 +64,10 @@ defineProps({ const emit = defineEmits(['success', 'close']) const formRef = shallowRef() const popupRef = shallowRef>() +const personnel = ref() const mode = ref('add') +const list1 = ref([]) const showDialog = ref(false) const project_name = ref('') const project_code = ref('') @@ -74,10 +85,10 @@ const popupTitle = computed(() => { const formData = reactive({ id: '', project_id: '', - material_budget_expenditure_ratio: '', - labour_budget_expenditure_ratio: '', - cost_budget_expenditure_ratio: '', - subcontract_budget_expenditure_ratio: '', + admin_id: '', + working_unit_price: '', + remark: '', + project_role_id: '', }) @@ -93,9 +104,26 @@ const customEvent = (e) => { const formRules = reactive({ }) +//获取角色 +const getlist1 = () => { + getAllProjectRoles().then((res) => { + list1.value = res + }) +} +//打开弹窗 +const userclick = () => { + console.log(personnel.value, '1111111') + personnel.value.open() +} +//确认 +const submituser = (e: any) => { + // console.log(e) + formData.admin_id = e.id + admin_name.value = e.name +} // 获取详情 const setFormData = async (data: Record) => { @@ -108,6 +136,7 @@ const setFormData = async (data: Record) => { formData[key] = data[key] } } + admin_name.value = data.admin_name project_name.value = data.project_name project_code.value = data.project_code @@ -144,7 +173,7 @@ const handleClose = () => { emit('close') } - +getlist1() defineExpose({ open, setFormData, diff --git a/src/views/project_member/index.vue b/src/views/project_member/index.vue index f17b1f6..6deb1b9 100644 --- a/src/views/project_member/index.vue +++ b/src/views/project_member/index.vue @@ -2,10 +2,15 @@
- - + + + + + + + + - @@ -32,12 +37,11 @@ - + - - - - + + +