fix : 修复部门分管领导回显,需求上报排版

This commit is contained in:
2024-08-03 00:36:51 +08:00
parent 6e612e1f7a
commit fbfbe5c328
10 changed files with 307 additions and 200 deletions

View File

@@ -22,7 +22,7 @@
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="其他文件" label-width="120">
<el-form-item label="其他文件" :label-width="tag==='需求上报'?120:106">
<file-upload @getFile="getOtherFile"/>
<fvTable style="width: 100%;max-height: 162px;" v-if="showTable" height="162" :tableConfig="tableConfig"
:data="allFileList" :isSettingCol="false" :pagination="false">

View File

@@ -98,7 +98,8 @@ const executeTableConfig = reactive({
prop: 'originalFileName',
label: '文件名',
align: 'center',
currentRender: ({row, index}) => (<div style="color: #2a99ff;cursor: pointer;" onClick={()=>clickToPreview(row)}>{row.originalFileName}</div>)
currentRender: ({row, index}) => (
<div style="color: #2a99ff;cursor: pointer;" onClick={() => clickToPreview(row)}>{row.originalFileName}</div>)
},
{
prop: 'tag',
@@ -246,9 +247,10 @@ let preProcess = {
component: () => (
<div>
{
props.formData.preProcess ? props.formData.preProcess.map((item,index) => {
props.formData.preProcess ? props.formData.preProcess.map((item, index) => {
return <span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}}
href={props.formData.preProcessBaseUrl + item.requestId}>{item.requestName} {index != (props.formData.preProcess.length -1)? <span></span>:''}</a></span>
href={props.formData.preProcessBaseUrl + item.requestId}>{item.requestName} {index != (props.formData.preProcess.length - 1) ?
<span></span> : ''}</a></span>
}) : <span>{'--'}</span>
}
</div>
@@ -292,6 +294,23 @@ const schema = computed(() => {
</div>
)
},
{
label: '部门分管领导',
prop: 'optionalChargeLeadership',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => (
<div>
{
props.formData.optionalChargeLeadership ? props.formData.optionalChargeLeadership.map(item => {
return <span>{item.name} </span>
}) : <span>{'--'}</span>
}
</div>
)
},
]
if (props.preProcessShow == 'EDIT') {
preProcess = {
@@ -347,22 +366,40 @@ const schema = computed(() => {
}
}
arr.push(preProcess)
arr.push({
label: '项目验收附件',
prop: 'singleFile',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
return props.formData.singleFile ? <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
: <span>--</span>
}
})
arr.push(
{
label: '部门分管领导',
prop: 'optionalChargeLeadership',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => (
<div>
{
props.formData.optionalChargeLeadership ? props.formData.optionalChargeLeadership.map(item => {
return <span>{item.name} </span>
}) : <span>{'--'}</span>
}
</div>
)
},
{
label: '项目验收附件',
prop: 'singleFile',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
return props.formData.singleFile ? <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
: <span>--</span>
}
})
} else if (props.type == 'archivist') {
arr = [
{

View File

@@ -33,7 +33,7 @@
<el-row>
<el-col :span="24" v-if="title==='apply'">
<el-form-item label="项目负责人" :required="true" prop=""
label-width="125">
label-width="106">
<el-button style="margin-right: 10px" color="#DED0B2" @click="handleShowProjectChargePersonTable">
{{ projectChargePersonUserList.length !== 0 ? '更改' : '请选择' }}
</el-button>
@@ -46,7 +46,7 @@
</el-col>
<el-col :span="24" v-if="title==='apply'">
<el-form-item label="项目成员" :required="true" prop=""
label-width="125">
label-width="106">
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowProjectPersonTable">
{{ projectPersonUserList.length !== 0 ? '更改' : getProjectPerson(projectPersonUserList) ? '更改' : '请选择' }}
</el-button>
@@ -58,15 +58,15 @@
</el-form-item>
</el-col>
<el-col :span="24" v-if="title==='apply'||title==='check'">
<el-form-item label="分管领导"
label-width="125">
<el-form-item label="部门分管领导"
label-width="106">
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
{{ optionalChargeLeadershipList.length !== 0 ? '更改' : getOptionalChargeLeadershipList(optionalChargeLeadershipList) ? '更改' : '请选择' }}
</el-button>
<div v-for="item in getOptionalChargeLeadershipList(optionalChargeLeadershipList)" :key="item.id" style="margin-right: 5px">
{{ item.name }}
</div>
<user-picker :multiple="true" ref="optionalChargeLeadershipPickerRef" title="请选择分管领导"
<user-picker :multiple="true" ref="optionalChargeLeadershipPickerRef" title="请选择部门分管领导"
v-model:value="optionalChargeLeadershipList" @ok="optionalChargeLeaderPickerOk"/>
</el-form-item>
</el-col>

View File

@@ -2,7 +2,7 @@
<div class="detail-block" v-loading="loading">
<baseTitle title="需求上报信息"></baseTitle>
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
<el-row gutter="14">
<el-row gutter="14" style="margin-bottom: -25px">
<el-col :span="6">
<el-form-item label="项目名称" prop="projectName">
<span>{{ localFormData.projectName }}</span>
@@ -48,6 +48,11 @@
<span>{{ filterDict(cacheStore.getDict('technical_standard'), localFormData.technicalStandard) }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="经济预算(元)" prop="economicEstimate">
<span>{{ toThousands(localFormData.economicEstimate) }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="产学研联合" prop="industryUniversityResearch">
<span>{{
@@ -62,6 +67,11 @@
}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="部门分管领导" prop="optionalChargeLeadership">
<span>{{ localFormData.optionalChargeLeadership?.map(item=>item.name).join() }}</span>
</el-form-item>
</el-col>
<el-col :span="6" v-if="localFormData.isSpecialFund">
<el-form-item label="专项资金名称" prop="specialFund">
<span>{{
@@ -70,19 +80,28 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="知识产权状况" prop="intellectualProperty">
<span>{{
filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty)
}}</span>
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount"
v-if="localFormData.isSpecialFund">
<span>{{ toThousands(localFormData.specialFundAmount) }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row gutter="14" style="margin-bottom: -25px">
<el-col :span="24">
<baseTitle title="预期知识产权"></baseTitle>
</el-col>
<el-col :span="12">
<el-form-item label="预期成果形式" prop="resultForm">
<span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>
</el-form-item>
</el-col>
<el-col :span="24" style="margin-top: -15px">
<baseTitle title="预期知识产权"></baseTitle>
<el-col :span="6">
<el-form-item label="知识产权状况" prop="intellectualProperty">
<span>{{
filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty)
}}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发明专利(项)" prop="inventionPatent">
@@ -109,28 +128,22 @@
<span>{{ localFormData.other }}</span>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="经济预算(元)" prop="economicEstimate">
<span>{{ toThousands(localFormData.economicEstimate) }}</span>
</el-form-item>
</el-row>
<el-row gutter="14" >
<el-col :span="24">
<baseTitle title="项目描述"></baseTitle>
</el-col>
<el-col :span="6">
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount"
v-if="localFormData.isSpecialFund">
<span>{{ toThousands(localFormData.specialFundAmount) }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="现有业务描述" prop="serviceDescription">
<span>{{ localFormData.serviceDescription }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
<span>{{ localFormData.contentDescription }}</span>
</el-form-item>
</el-col>
<el-col :span="24" style="margin-top: -15px">
<el-col :span="24" style="margin-top: -25px">
<baseTitle title="需求上报申请书"></baseTitle>
</el-col>
<el-col :span="24">

View File

@@ -3,7 +3,7 @@
<slot name="pre"></slot>
<div class="user-audit">
<div class="circle-user">
<Tooltip :content="user.name" placement="bottom-start" width="45px"/>
<Tooltip :content="user.name" placement="bottom-start" width="45"/>
<div v-if="user.icon"
class="el-timeline-item__node" :style="{
backgroundColor: user.color

View File

@@ -5,7 +5,7 @@
placement="bottom-start"
:disabled="isShow"
>
<div :class="lines?'content-lines':'content'" :style="{width: props.width}" @mouseover="isShowTooltip">
<div :class="lines?'content-lines':textAlign=='left'?'left-content':'content'" :style="{width: props.width+'px'}" @mouseover="isShowTooltip">
<span ref="contentRef">
<slot name="content">{{ props.content }}</slot>
</span>
@@ -25,15 +25,26 @@ const props = defineProps({
lines: {
type: Boolean,
default: false
}
},
textAlign: {
type: String,
default: ''
},
})
const contentRef = ref()
const isShow = ref(false)
const isShowTooltip = () => {
isShow.value = props.width > contentRef.value.offsetWidth;
isShow.value = parseInt(props.width) > contentRef.value.offsetWidth;
}
</script>
<style>
<style scoped>
.left-content{
width: 45px;
text-align: left;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.content {
width: 45px;
text-align: center;

View File

@@ -1,5 +1,5 @@
<template>
<baseTitle title="基础信息"></baseTitle>
<baseTitle title="项目基本信息"></baseTitle>
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e"></fvForm>
<div class="steps-box">
<el-steps v-if="stepsShow" :active="localActive" finish-status="success">
@@ -333,7 +333,7 @@ watchEffect(() => {
<style lang="scss" scoped>
.steps-box {
padding: 10px 0;
//padding: 10px 0;
}
.step-success {