feat(project-demand): 修改需求征集表单的编辑权限

- 扩展了表单编辑权限,允许 'Requirement/add' 路由的用户进行编辑
-调整了提交按钮的显示逻辑,移除了多余的条件判断
- 优化了文件删除按钮的显示条件,增加了对路由名称的判断
This commit is contained in:
dj
2025-08-24 17:09:17 +08:00
parent 25f1f40957
commit 6b3e74fab9

View File

@@ -6,14 +6,14 @@
<el-row gutter="30">
<el-col :span="6">
<el-form-item label="征集名称" prop="requirementName">
<el-input v-if="formData.state=='3'" v-model="formData.requirementName" placeholder="请输入征集名称" clearable @change="changeRequirementData"></el-input>
<el-input v-if="formData.state=='3'||routerName==='Requirement/add'" v-model="formData.requirementName" placeholder="请输入征集名称" clearable @change="changeRequirementData"></el-input>
<span v-else>{{ formData.requirementName }}</span>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: -40px">
<el-form-item label="征集类型" prop="collectType">
<el-select v-if="formData.state=='3'" v-model="formData.collectType" placeholder="请选择征集类型" clearable filterable @change="changeRequirementData" >
<el-select v-if="formData.state=='3'||routerName==='Requirement/add'" v-model="formData.collectType" placeholder="请选择征集类型" clearable filterable @change="changeRequirementData" >
<el-option
v-for="item in cacheStore.getDict('collect_type')"
:key="item.value"
@@ -26,7 +26,7 @@
</el-col>
<el-col :span="6" style="margin-left: 10px">
<el-form-item label="需求上报截止时间" prop="deadline">
<el-config-provider v-if="formData.state=='3'">
<el-config-provider v-if="formData.state=='3'||routerName==='Requirement/add'">
<el-date-picker
style="width: 100%"
v-model="formData.deadline"
@@ -41,7 +41,7 @@
</el-col>
<el-col :span="6" style="margin-left: -20px">
<el-form-item label="是否专项资金" prop="isSpecialFund">
<el-select v-if="formData.state=='3'" v-model="formData.isSpecialFund" placeholder="请选择是否专项资金" clearable filterable @change="changeRequirementData">
<el-select v-if="formData.state=='3'||routerName==='Requirement/add'" v-model="formData.isSpecialFund" placeholder="请选择是否专项资金" clearable filterable @change="changeRequirementData">
<el-option :value="true" label="是"></el-option>
<el-option :value="false" label="否"></el-option>
</el-select>
@@ -50,7 +50,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="专项资金名称" prop="specialFundId" v-if="formData.isSpecialFund">
<el-select v-if="formData.state=='3'" v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable @change="changeRequirementData">
<el-select v-if="formData.state=='3'||routerName==='Requirement/add'" v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable @change="changeRequirementData">
<el-option
v-for="item in specialFundOption"
:key="item.value"
@@ -61,14 +61,14 @@
<span v-else>{{ formData.specialFund }}</span>
</el-form-item>
</el-col>
<el-col :span="6" v-if="formData.isSpecialFund&&formData.state=='3'">
<el-col :span="6" v-if="formData.isSpecialFund&&(formData.state=='3'||routerName==='Requirement/add')">
<!-- <el-form-item>-->
<a @click="addSpecialFund" style="width: 116px;text-align: right;display: inline-block">新增专项资金</a>
<!-- </el-form-item>-->
</el-col>
<el-col :span="24">
<el-form-item label="征集公司" :required="true" prop="" class="company-select">
<div style="width: 100%" v-if="formData.state=='3'">
<div style="width: 100%" v-if="formData.state=='3'||routerName==='Requirement/add'">
<el-button color="#DED0B2" @click="showCompany">{{ selectedCompanyList.length === 0 ? '请选择征集公司' : '更改' }}
</el-button>
</div>
@@ -81,7 +81,7 @@
</el-col>
<el-col :span="24" style="margin-bottom: -18px">
<el-form-item label="征集说明" prop="" required>
<el-input v-if="formData.state=='3'"
<el-input v-if="formData.state=='3'||routerName==='Requirement/add'"
v-model="formData.collectExplain"
style="width:100%;margin-right: 50px"
:rows="5"
@@ -95,7 +95,7 @@
</el-row>
</el-form>
<baseTitle title="附件文件" style="margin-right: 10px"></baseTitle>
<file-upload v-if="checkFormPrem('fileList')&&formData.state=='3'" @getFile="getFile"/>
<file-upload v-if="checkFormPrem('fileList')&&(formData.state=='3'||routerName==='Requirement/add')" @getFile="getFile"/>
<div style="margin-right: 50px">
<fvTable style="width: 100%;max-height: 160px;" height="160" v-if="showTable"
:tableConfig="tableConfig" :data="formData.fileList"
@@ -129,9 +129,9 @@
</div>
<div style="width: 100%;height: 30px"></div>
<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'" @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 @click="handleBack" v-if="formData.state=='3'">返回</el-button>
<el-button @click="handleBack" v-if="formData.state=='3'||routerName==='Requirement/add'">返回</el-button>
</div>
<company-picker :multiple="true" ref="companyRef" title="请选择征集公司" @ok="sureSelectedCompany" @cancelOrClear="cancelSelectedCompany"
v-model:value="selectedCompanyList"/>
@@ -251,7 +251,7 @@ const tableConfig = reactive({
<div>
<el-button type="primary" link onClick={() => handleDownload(row)}>下载</el-button>
{
formData.value.state=='3'? <popover-delete name={row.originalFileName} type={'文件'} btnType={'danger'}
formData.value.state=='3'||routerName.value==='Requirement/add'? <popover-delete name={row.originalFileName} type={'文件'} btnType={'danger'}
onDelete={() => handleDelete(row)}/>:''
}
</div>