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 @@ + + + + + + + 全部人员 + 按部门筛选 + 按岗位筛选 + + + + + + + + + + + + + + + + {{ item.name }} + + + {{ item.org_name }} + /{{ item.dept_name }} + /{{ item.job_name }} + + + + + + + + + + + + {{ i }} + + {{ items.name }} + {{ items.admin_num }} + + + + + + + + + + + + + + + + {{ item.name }} + + + {{ item.org_name }} + /{{ item.dept_name }} + /{{ item.job_name }} + + + + + + + + + + + {{ item.name }} + {{ item.admin_num }} + + + + + + + + + + + + {{ item.name }} + + + {{ item.org_name }} + /{{ item.dept_name }} + /{{ item.job_name }} + + + + + + + + + + + + + + + + + + + + + + + + {{ item.name }} + + + {{ item.org_name }} + /{{ item.dept_name }} + /{{ item.job_name }} + + + + + + + + + + + + {{ i }} + + {{ items.name }} + {{ items.admin_num }} + + + + + + + + + + + + + + + + {{ item.name }} + + + {{ item.org_name }} + /{{ item.dept_name }} + /{{ item.job_name }} + + + + + + + + + + + {{ item.name }} + {{ item.admin_num }} + + + + + + + + + + + + {{ item.name }} + + + {{ item.org_name }} + /{{ item.dept_name }} + /{{ item.job_name }} + + + + + + + + + + + + + + + 取消 + 确认 + {{ radiolist.length > 0 ? '已选' : '未选' }} + {{ radiolist.length }} + + + + + + + + + \ 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 @@ - + - - - - + + + @@ -81,8 +85,9 @@ const showDtail = ref(false) // 查询条件 const queryParams = reactive({ - name: '' - + project_role_name: '', + project_name: '', + admin_name: '' }) diff --git a/src/views/project_stakeholder/detail.vue b/src/views/project_stakeholder/detail.vue new file mode 100644 index 0000000..e8afe11 --- /dev/null +++ b/src/views/project_stakeholder/detail.vue @@ -0,0 +1,147 @@ + + + + + + + + + + {{ formData.project_name }} + + + + + {{ formData.project_code }} + + + + + + + {{ formData.name }} + + + + + + + + + + + {{ formData.phone }} + + + + + {{ formData.email }} + + + + + + + + + + + + + + + {{ formData.remark }} + + + + + + + + + + + + + diff --git a/src/views/project_stakeholder/edit.vue b/src/views/project_stakeholder/edit.vue new file mode 100644 index 0000000..31f7199 --- /dev/null +++ b/src/views/project_stakeholder/edit.vue @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ item.name }} + + + + + + + + + + + + + + + + + + {{ item.name }} + + + + + + + + + {{ item.name }} + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/project_stakeholder/index.vue b/src/views/project_stakeholder/index.vue new file mode 100644 index 0000000..3bf4d5b --- /dev/null +++ b/src/views/project_stakeholder/index.vue @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + 新增 + + + 删除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 编辑 + + + 删除 + + + 详情 + + + + + + + + + + + + + + + + + diff --git a/src/views/project_wbs_set/edit.vue b/src/views/project_wbs_set/edit.vue index 6a81470..1e47ecc 100644 --- a/src/views/project_wbs_set/edit.vue +++ b/src/views/project_wbs_set/edit.vue @@ -112,7 +112,7 @@ const getlist = () => { }) } -//获取校色 +//获取角色 const getlist1 = () => { getAllProjectRoles().then((res) => {