feat(project-demand): 根据需求状态显示不同表单
- 添加了 v-if="formData.state=='3'" 条件,以根据需求状态显示不同表单元素 - 为征集名称、类型、截止时间等字段添加了只读显示逻辑 - 调整了专项资金相关字段的显示逻辑 - 优化了附件上传和文件列表的显示条件 - 根据状态控制提交、返回按钮的显示
This commit is contained in:
@@ -6,12 +6,14 @@
|
|||||||
<el-row gutter="30">
|
<el-row gutter="30">
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="征集名称" prop="requirementName">
|
<el-form-item label="征集名称" prop="requirementName">
|
||||||
<el-input v-model="formData.requirementName" placeholder="请输入征集名称" clearable @change="changeRequirementData"></el-input>
|
<el-input v-if="formData.state=='3'" v-model="formData.requirementName" placeholder="请输入征集名称" clearable @change="changeRequirementData"></el-input>
|
||||||
|
|
||||||
|
<span v-else>{{ formData.requirementName }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" style="margin-left: -40px">
|
<el-col :span="6" style="margin-left: -40px">
|
||||||
<el-form-item label="征集类型" prop="collectType">
|
<el-form-item label="征集类型" prop="collectType">
|
||||||
<el-select v-model="formData.collectType" placeholder="请选择征集类型" clearable filterable @change="changeRequirementData">
|
<el-select v-if="formData.state=='3'" v-model="formData.collectType" placeholder="请选择征集类型" clearable filterable @change="changeRequirementData" >
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('collect_type')"
|
v-for="item in cacheStore.getDict('collect_type')"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -19,11 +21,12 @@
|
|||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<span v-else>{{ formData.collectType }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" style="margin-left: 10px">
|
<el-col :span="6" style="margin-left: 10px">
|
||||||
<el-form-item label="需求上报截止时间" prop="deadline">
|
<el-form-item label="需求上报截止时间" prop="deadline">
|
||||||
<el-config-provider>
|
<el-config-provider v-if="formData.state=='3'">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
v-model="formData.deadline"
|
v-model="formData.deadline"
|
||||||
@@ -33,19 +36,21 @@
|
|||||||
:disabled-date="disabledDate" @change="changeRequirementData"
|
:disabled-date="disabledDate" @change="changeRequirementData"
|
||||||
/>
|
/>
|
||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
|
<span v-else>{{ formData.deadline }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" style="margin-left: -20px">
|
<el-col :span="6" style="margin-left: -20px">
|
||||||
<el-form-item label="是否专项资金" prop="isSpecialFund">
|
<el-form-item label="是否专项资金" prop="isSpecialFund">
|
||||||
<el-select v-model="formData.isSpecialFund" placeholder="请选择是否专项资金" clearable filterable @change="changeRequirementData">
|
<el-select v-if="formData.state=='3'" v-model="formData.isSpecialFund" placeholder="请选择是否专项资金" clearable filterable @change="changeRequirementData">
|
||||||
<el-option :value="true" label="是"></el-option>
|
<el-option :value="true" label="是"></el-option>
|
||||||
<el-option :value="false" label="否"></el-option>
|
<el-option :value="false" label="否"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<span v-else>{{ formData.isSpecialFund?' 是':' 否' }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="专项资金名称" prop="specialFundId" v-if="formData.isSpecialFund">
|
<el-form-item label="专项资金名称" prop="specialFundId" v-if="formData.isSpecialFund">
|
||||||
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable @change="changeRequirementData">
|
<el-select v-if="formData.state=='3'" v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable @change="changeRequirementData">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in specialFundOption"
|
v-for="item in specialFundOption"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -53,16 +58,17 @@
|
|||||||
:value="item.value">
|
:value="item.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<span v-else>{{ formData.specialFund }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" v-if="formData.isSpecialFund">
|
<el-col :span="6" v-if="formData.isSpecialFund&&formData.state=='3'">
|
||||||
<!-- <el-form-item>-->
|
<!-- <el-form-item>-->
|
||||||
<a @click="addSpecialFund" style="width: 116px;text-align: right;display: inline-block">新增专项资金</a>
|
<a @click="addSpecialFund" style="width: 116px;text-align: right;display: inline-block">新增专项资金</a>
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="征集公司" :required="true" prop="" class="company-select">
|
<el-form-item label="征集公司" :required="true" prop="" class="company-select">
|
||||||
<div style="width: 100%">
|
<div style="width: 100%" v-if="formData.state=='3'">
|
||||||
<el-button color="#DED0B2" @click="showCompany">{{ selectedCompanyList.length === 0 ? '请选择征集公司' : '更改' }}
|
<el-button color="#DED0B2" @click="showCompany">{{ selectedCompanyList.length === 0 ? '请选择征集公司' : '更改' }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -75,19 +81,21 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" style="margin-bottom: -18px">
|
<el-col :span="24" style="margin-bottom: -18px">
|
||||||
<el-form-item label="征集说明" prop="" required>
|
<el-form-item label="征集说明" prop="" required>
|
||||||
<el-input
|
<el-input v-if="formData.state=='3'"
|
||||||
v-model="formData.collectExplain"
|
v-model="formData.collectExplain"
|
||||||
style="width:100%;margin-right: 50px"
|
style="width:100%;margin-right: 50px"
|
||||||
:rows="5"
|
:rows="5"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
placeholder="请输入征集说明" @change="changeRequirementData"
|
placeholder="请输入征集说明" @change="changeRequirementData"
|
||||||
/>
|
/>
|
||||||
|
<div v-else v-html="formData.collectExplain" style="white-space: pre-wrap;">
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<baseTitle title="附件文件" style="margin-right: 10px"></baseTitle>
|
<baseTitle title="附件文件" style="margin-right: 10px"></baseTitle>
|
||||||
<file-upload v-if="checkFormPrem('fileList')" @getFile="getFile"/>
|
<file-upload v-if="checkFormPrem('fileList')&&formData.state=='3'" @getFile="getFile"/>
|
||||||
<div style="margin-right: 50px">
|
<div style="margin-right: 50px">
|
||||||
<fvTable style="width: 100%;max-height: 160px;" height="160" v-if="showTable"
|
<fvTable style="width: 100%;max-height: 160px;" height="160" v-if="showTable"
|
||||||
:tableConfig="tableConfig" :data="formData.fileList"
|
:tableConfig="tableConfig" :data="formData.fileList"
|
||||||
@@ -123,7 +131,7 @@
|
|||||||
<div class="oper-page-btn">
|
<div class="oper-page-btn">
|
||||||
<el-button color="#DED0B2" v-if="routerName==='Requirement/add'&&formData.state=='3'" @click="handleSubmit(demandForm)">提交</el-button>
|
<el-button color="#DED0B2" v-if="routerName==='Requirement/add'&&formData.state=='3'" @click="handleSubmit(demandForm)">提交</el-button>
|
||||||
<el-button color="#DED0B2" v-else-if="routerName==='Requirement/edit'&&formData.state=='3'" @click="handleResubmit(demandForm)">重新提交</el-button>
|
<el-button color="#DED0B2" v-else-if="routerName==='Requirement/edit'&&formData.state=='3'" @click="handleResubmit(demandForm)">重新提交</el-button>
|
||||||
<el-button @click="handleBack">返回</el-button>
|
<el-button @click="handleBack" v-if="formData.state=='3'">返回</el-button>
|
||||||
</div>
|
</div>
|
||||||
<company-picker :multiple="true" ref="companyRef" title="请选择征集公司" @ok="sureSelectedCompany" @cancelOrClear="cancelSelectedCompany"
|
<company-picker :multiple="true" ref="companyRef" title="请选择征集公司" @ok="sureSelectedCompany" @cancelOrClear="cancelSelectedCompany"
|
||||||
v-model:value="selectedCompanyList"/>
|
v-model:value="selectedCompanyList"/>
|
||||||
@@ -243,8 +251,10 @@ const tableConfig = reactive({
|
|||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<el-button type="primary" link onClick={() => handleDownload(row)}>下载</el-button>
|
<el-button type="primary" link onClick={() => handleDownload(row)}>下载</el-button>
|
||||||
<popover-delete name={row.originalFileName} type={'文件'} btnType={'danger'}
|
{
|
||||||
onDelete={() => handleDelete(row)}/>
|
formData.value.state=='3'? <popover-delete name={row.originalFileName} type={'文件'} btnType={'danger'}
|
||||||
|
onDelete={() => handleDelete(row)}/>:''
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user