fix : 项目立项页面细节优化

This commit is contained in:
2024-07-11 22:28:43 +08:00
parent 37755d62b1
commit 61e7e096a4
2 changed files with 69 additions and 29 deletions

View File

@@ -1,6 +1,6 @@
<template>
<el-dialog custom-class="custom-dialog" class="border" :border="false" width="1000px" style="height: 676px"
:title="title" :show-close="false" :visible.sync="visible" v-model="visible" append-to-body :close-on-click-modal="true" >
:title="title" :show-close="false" :visible.sync="visible" v-model="visible" append-to-body :close-on-click-modal="true" @close="closeDialog">
<div class="picker">
<div class="candidate" v-loading="loading">
<el-input v-model="filterText"
@@ -118,6 +118,11 @@ const _value = computed({
watch(() => filterText.value, (newVal) => {
tree.value.filter(newVal);
});
const closeDialog=()=>{
console.log('关闭')
visible.value=false
filterText.value=''
}
const checkBoxChange = (val) => {
checkStrictly.value = val.includes('2')
let nodes = tree.value.store.nodesMap

View File

@@ -5,13 +5,12 @@
<el-col :span="24" v-if="title==='apply'">
<el-form-item label="项目负责人" :required="true" prop="projectChargePerson"
label-width="125">
<!-- <div v-for="item in projectChargePersonUserList" :key="item.id" style="margin-right: 5px">-->
<!-- {{ item.name }}-->
<!-- </div>-->
<el-button color="#DED0B2" @click="handleShowProjectChargePersonTable">
<el-button style="margin-right: 10px" color="#DED0B2" @click="handleShowProjectChargePersonTable">
{{ localFormData.projectChargePerson ? '更改' : '请选择' }}
</el-button>
<span style="margin-right: 5px">{{getProjectChargePersonUser(projectChargePersonUserList)}}</span>
<div v-for="item in projectChargePersonUserList" :key="item.id" style="margin-right: 5px">
{{ item.name }}
</div>
<user-picker :multiple="false" ref="projectChargePersonUserPicker" title="请选择项目负责人"
v-model:value="projectChargePersonUserList" @ok="projectChargePersonUserPickerOk"/>
</el-form-item>
@@ -19,14 +18,14 @@
<el-col :span="24" v-if="title==='apply'">
<el-form-item label="项目成员" :required="true" prop="projectPerson"
label-width="125">
<!-- {{projectPersonUserList}}-->
<!-- <div v-for="item in projectPersonUserList" :key="item.id" style="margin-right: 5px">-->
<!-- {{ item.name }}-->
<!-- </div>-->
<el-button color="#DED0B2" @click="handleShowProjectPersonTable">
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowProjectPersonTable">
{{ localFormData.projectPersonIds ? '更改' : '请选择' }}
</el-button>
<span style="margin-right: 5px">{{getProjectPersonUser(projectPersonUserList)}}</span>
<!-- <span style="margin-right: 5px">{{getProjectPersonUser()}}</span>-->
<div v-for="item in projectPersonUserList" :key="item.id" style="margin-right: 5px">
{{ item.name }}
</div>
<user-picker :multiple="true" ref="projectPersonUserPicker" title="请选择项目成员"
v-model:value="projectPersonUserList" @ok="projectPersonUserPickerOk"/>
</el-form-item>
@@ -211,17 +210,20 @@ const name = ref(router.currentRoute.value.name)
const deploymentId = ref()
const selectRows = ref([])
const projectId = ref(route.query.projectId)
const getProjectChargePersonUser=(list)=>{
console.log('list',list)
if(list[0]!==null){
return list.map(item=>item.name).join()
const getProjectChargePersonUser=()=>{
console.log('list',projectChargePersonUserList.value)
if(projectChargePersonUserList.value.length!==0){
return projectChargePersonUserList.value.map(item=>item.name).join()
}
// if(list[0]!==null){
// return list.map(item=>item.name).join()
// }
}
const getProjectPersonUser=(list)=>{
console.log('list2',list)
if(list!=null){
return list.map(item=>item.name).join()
}
console.log('list2',projectPersonUserList.value)
// if(list!=null){
// return list.map(item=>item.name).join()
// }
}
const getPreProcessUrl = (list) => {
// list.map(item => {
@@ -254,10 +256,20 @@ const handleShowPreTable = () => {
const handleShowProjectChargePersonTable = () => {
projectChargePersonUserPicker.value.showUserPicker()
}
const projectChargePersonUserPickerOk = (userList) => {
projectChargePersonUserList.value = userList
localFormData.value.projectChargePerson = userList[0].id
console.log(userList)
let userInfoList = []
for (let val of userList) {
let userInfo = {
id: val.id,
name: val.name,
companyName: val.companyName,
accountType: val.accountType,
}
userInfoList.push(userInfo)
}
projectChargePersonUserList.value = userInfoList
// localFormData.value.projectChargePerson = userList[0].id
}
const handleShowProjectPersonTable = () => {
projectPersonUserPicker.value.showUserPicker()
@@ -270,6 +282,7 @@ const projectPersonUserPickerOk = (userList) => {
userIds.push(user.id)
}
localFormData.value.projectPersonIds = userIds
console.log(userList,projectPersonUserList.value)
}
const getPreProcessList = () => {
loading.value = true
@@ -412,18 +425,23 @@ const handleSubmit = async () => {
attachment.value.clearValidate()
}
// }
let projectPersonIds = []
for (const item of projectPersonUserList.value) {
projectPersonIds.push(item.id)
}
let params = {
deploymentId: deploymentId.value,
requirementId: route.query.id,
fileList: files,
singleFile: attachment.value.singleFile,
projectId: projectId.value,
projectChargePerson: localFormData.value.projectChargePerson,
projectPersonIds: localFormData.value.projectPersonIds,
projectChargePerson: projectChargePersonUserList.value[0].id,
projectPersonIds: projectPersonIds,
preProcess: JSON.stringify(localFormData.value.preProcess)
}
// console.log('params', params)
console.log(params)
// return
let res
if (props.step === '20') {
if (props.mode === 'resubmit') {
@@ -502,8 +520,13 @@ const init = async () => {
}
watchEffect(() => {
projectChargePersonUserList.value = [props.formData.projectChargePerson]
projectPersonUserList.value = props.formData.projectPersonList
if(props.formData.projectChargePerson==null){
projectChargePersonUserList.value = []
}else {
projectChargePersonUserList.value = [props.formData.projectChargePerson]
}
// console.log('props.formData.projectPersonList',props.formData.projectPersonList)
// projectPersonUserList.value = props.formData.projectPersonList ? props.formData.projectPersonList : []
let flag = Object.keys(props.formData).length && (localFormData.value = props.formData)
if(props.formData.projectChargePerson!=null){
localFormData.value.projectChargePerson = props.formData.projectChargePerson.id
@@ -514,7 +537,19 @@ watchEffect(() => {
localFormData.value.projectPersonIds.push(item.id)
})
}
// console.log('projectPersonUserList.value',projectPersonUserList.value)
return flag
// // projectChargePersonUserList.value = [props.formData.projectChargePerson]
// projectPersonUserList.value = props.formData.projectPersonList
// let flag = Object.keys(props.formData).length && (localFormData.value = props.formData)
// localFormData.value.projectChargePerson = props.formData.projectChargePerson.id
// localFormData.value.projectPersonIds = []
// if (projectPersonUserList.value){
// projectPersonUserList.value.forEach(item => {
// localFormData.value.projectPersonIds.push(item.id)
// })
// }
// return flag
})
onMounted(async () => {
await init()