fix : 修复页面排版及项目管理的公司查询
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
<el-form :model="formData" ref="applyForm" :rules="rules" :label-position="labelPosition">
|
<el-form :model="formData" ref="applyForm" :rules="rules" :label-position="labelPosition">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="label" prop="attachment" label-width="125">
|
<el-form-item :label="label" prop="attachment" >
|
||||||
<template v-if="preview">
|
<template v-if="preview">
|
||||||
<file-upload @getFile="getAttachment" :multiple="false"
|
<file-upload @getFile="getAttachment" :multiple="false"
|
||||||
:disabled="singleFileArray?.length>0?true:false" title="如需修改需求申请书附件,请先删除文件再上传!"/>
|
:disabled="singleFileArray?.length>0?true:false" title="如需修改需求申请书附件,请先删除文件再上传!"/>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="其他文件" label-width="125">
|
<el-form-item label="其他文件" label-width="120">
|
||||||
<file-upload @getFile="getOtherFile"/>
|
<file-upload @getFile="getOtherFile"/>
|
||||||
<fvTable style="width: 100%;max-height: 162px;" v-if="showTable" height="162" :tableConfig="tableConfig"
|
<fvTable style="width: 100%;max-height: 162px;" v-if="showTable" height="162" :tableConfig="tableConfig"
|
||||||
:data="allFileList" :isSettingCol="false" :pagination="false">
|
:data="allFileList" :isSettingCol="false" :pagination="false">
|
||||||
|
|||||||
@@ -33,8 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="24" style="margin-top: -15px;margin-bottom: -15px">
|
||||||
<el-col :span="24">
|
|
||||||
<baseTitle title="征集说明"></baseTitle>
|
<baseTitle title="征集说明"></baseTitle>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-card style="width: 100%">
|
<el-card style="width: 100%">
|
||||||
@@ -43,13 +42,13 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<baseTitle v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" title="附件列表"></baseTitle>
|
<baseTitle v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" title="附件列表"> </baseTitle>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<file-component title="" tag="需求征集"
|
<file-component title="" tag="需求征集"
|
||||||
v-model:value="formData.fileList" :processViewer="processViewer"
|
v-model:value="formData.fileList" :processViewer="processViewer"
|
||||||
:file-list-show="fileListShow"/>
|
:file-list-show="fileListShow"/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24" style="margin-top: -15px">
|
||||||
<div v-if="data.taskId">
|
<div v-if="data.taskId">
|
||||||
<baseTitle title="审核意见"></baseTitle>
|
<baseTitle title="审核意见"></baseTitle>
|
||||||
<el-form-item prop="_value">
|
<el-form-item prop="_value">
|
||||||
@@ -63,7 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<div class="approval-record">
|
<div class="approval-record" style="margin-top: -15px">
|
||||||
<div class="approval-title">
|
<div class="approval-title">
|
||||||
<baseTitle title="审批记录"></baseTitle>
|
<baseTitle title="审批记录"></baseTitle>
|
||||||
<div class="diagram">
|
<div class="diagram">
|
||||||
|
|||||||
@@ -1,10 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <baseTitle title="审核意见"></baseTitle>-->
|
<!-- <baseTitle title="审核意见"></baseTitle>-->
|
||||||
<!-- <fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm>-->
|
<!-- <fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm>-->
|
||||||
<div class="oper-page-btn">
|
<div class="oper-page-btn" style="display: flex">
|
||||||
<el-button type="danger" @click="handleReject">驳回</el-button>
|
<el-select v-if="taskUserOptionList?.length>0" v-model="backNode" placeholder="请选择退回节点" clearable style="width: 150px;margin-right: 10px">
|
||||||
|
<el-option
|
||||||
|
v-for="item in taskUserOptionList"
|
||||||
|
:key="item.nodeId"
|
||||||
|
:label="item.nodeName + (item.userInfo ? ':' + item.userInfo.name : '')"
|
||||||
|
:value="item.nodeId">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<el-button type="danger" @click="rollbackHandler">驳回</el-button>
|
||||||
<el-button color="#DED0B2" @click="handleAgree">同意</el-button>
|
<el-button color="#DED0B2" @click="handleAgree">同意</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- <el-dialog v-model="showBackNode" title="选择退回节点" width="400">-->
|
||||||
|
<!-- <el-select v-model="backNode" placeholder="请选择退回节点" clearable filterable>-->
|
||||||
|
<!-- <el-option-->
|
||||||
|
<!-- v-for="item in taskUserOptionList"-->
|
||||||
|
<!-- :key="item.nodeId"-->
|
||||||
|
<!-- :label="item.nodeName + ':' + item.userInfo.name"-->
|
||||||
|
<!-- :value="item.nodeId">-->
|
||||||
|
<!--<!– {{item.nodeName }} : {{item.userInfo.name}}–>-->
|
||||||
|
<!-- </el-option>-->
|
||||||
|
<!-- </el-select>-->
|
||||||
|
<!-- <el-button type="danger" @click="rollbackHandler">确认</el-button>-->
|
||||||
|
<!-- </el-dialog>-->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
@@ -27,10 +47,17 @@ const props = defineProps({
|
|||||||
value: {
|
value: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: ''
|
||||||
|
},
|
||||||
|
//退回节点选择框数据
|
||||||
|
taskUserOptionList: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const form = ref()
|
const form = ref()
|
||||||
|
const backNode = ref('')
|
||||||
|
const showBackNode = ref(false)
|
||||||
const schema = computed(() => {
|
const schema = computed(() => {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
@@ -120,6 +147,35 @@ const back = () => {
|
|||||||
}
|
}
|
||||||
// 驳回
|
// 驳回
|
||||||
const handleReject = async () => {
|
const handleReject = async () => {
|
||||||
|
// const values = form.value.getValues()
|
||||||
|
showBackNode.value = true
|
||||||
|
// if (!_value.value) {
|
||||||
|
// ElNotification({
|
||||||
|
// title: '提示',
|
||||||
|
// message: '请填写审核意见',
|
||||||
|
// type: 'warning'
|
||||||
|
// })
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// const params = {
|
||||||
|
// taskId: props.taskId,
|
||||||
|
// // ...values
|
||||||
|
// auditOpinion: _value.value
|
||||||
|
// }
|
||||||
|
// // console.log('params', params)
|
||||||
|
// const res = await rejectTask(params)
|
||||||
|
// ElNotification({
|
||||||
|
// title: '提示',
|
||||||
|
// message: res.msg,
|
||||||
|
// type: res.code === 1000 ? 'success' : 'error'
|
||||||
|
// })
|
||||||
|
// if (res.code === 1000){
|
||||||
|
// tagsViewStore.delVisitedViews(router.currentRoute.value.path)
|
||||||
|
// back()
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
//回退节点
|
||||||
|
const rollbackHandler = async () => {
|
||||||
// const values = form.value.getValues()
|
// const values = form.value.getValues()
|
||||||
if (!_value.value) {
|
if (!_value.value) {
|
||||||
ElNotification({
|
ElNotification({
|
||||||
@@ -132,7 +188,8 @@ const handleReject = async () => {
|
|||||||
const params = {
|
const params = {
|
||||||
taskId: props.taskId,
|
taskId: props.taskId,
|
||||||
// ...values
|
// ...values
|
||||||
auditOpinion: _value.value
|
auditOpinion: _value.value,
|
||||||
|
rollBackId: backNode.value
|
||||||
}
|
}
|
||||||
// console.log('params', params)
|
// console.log('params', params)
|
||||||
const res = await rejectTask(params)
|
const res = await rejectTask(params)
|
||||||
@@ -141,7 +198,7 @@ const handleReject = async () => {
|
|||||||
message: res.msg,
|
message: res.msg,
|
||||||
type: res.code === 1000 ? 'success' : 'error'
|
type: res.code === 1000 ? 'success' : 'error'
|
||||||
})
|
})
|
||||||
if (res.code === 1000){
|
if (res.code === 1000) {
|
||||||
tagsViewStore.delVisitedViews(router.currentRoute.value.path)
|
tagsViewStore.delVisitedViews(router.currentRoute.value.path)
|
||||||
back()
|
back()
|
||||||
}
|
}
|
||||||
@@ -160,7 +217,7 @@ const handleAgree = async () => {
|
|||||||
message: res.msg,
|
message: res.msg,
|
||||||
type: res.code === 1000 ? 'success' : 'error'
|
type: res.code === 1000 ? 'success' : 'error'
|
||||||
})
|
})
|
||||||
if (res.code === 1000){
|
if (res.code === 1000) {
|
||||||
tagsViewStore.delVisitedViews(router.currentRoute.value.path)
|
tagsViewStore.delVisitedViews(router.currentRoute.value.path)
|
||||||
back()
|
back()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,6 +83,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
<opinion v-if="data.taskId" :formData="data.formData" :taskId="data.taskId"
|
<opinion v-if="data.taskId" :formData="data.formData" :taskId="data.taskId"
|
||||||
|
:taskUserOptionList="data.taskUserOptionList"
|
||||||
v-model:value="formData.auditOpinion"></opinion>
|
v-model:value="formData.auditOpinion"></opinion>
|
||||||
<file-preview ref="filePreviewRef" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl"
|
<file-preview ref="filePreviewRef" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl"
|
||||||
:fileType="filePreviewParam.fileType"/>
|
:fileType="filePreviewParam.fileType"/>
|
||||||
|
|||||||
@@ -2,33 +2,33 @@
|
|||||||
<div class="detail-block" v-loading="loading">
|
<div class="detail-block" v-loading="loading">
|
||||||
<baseTitle title="需求上报信息"></baseTitle>
|
<baseTitle title="需求上报信息"></baseTitle>
|
||||||
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
|
<el-form :model="localFormData" ref="summaryForm" :rules="rules">
|
||||||
<el-row gutter="50">
|
<el-row gutter="14">
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<span>{{ localFormData.projectName }}</span>
|
<span>{{ localFormData.projectName }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="开始时间" prop="startTime">
|
<el-form-item label="开始时间" prop="startTime">
|
||||||
<span>{{ localFormData.startTime }}</span>
|
<span>{{ localFormData.startTime }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="结束时间" prop="endTime">
|
<el-form-item label="结束时间" prop="endTime">
|
||||||
<span>{{ localFormData.endTime }}</span>
|
<span>{{ localFormData.endTime }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="项目类型" prop="projectType">
|
<el-form-item label="项目类型" prop="projectType">
|
||||||
<span>{{ filterDict(cacheStore.getDict('project_type'), localFormData.projectType) }}</span>
|
<span>{{ filterDict(cacheStore.getDict('project_type'), localFormData.projectType) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="研发主体" prop="rdSubject">
|
<el-form-item label="研发主体" prop="rdSubject">
|
||||||
<span>{{ filterDict(cacheStore.getDict('rd_subject'), localFormData.rdSubject) }}</span>
|
<span>{{ filterDict(cacheStore.getDict('rd_subject'), localFormData.rdSubject) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="出资类型" prop="investmentType">
|
<el-form-item label="出资类型" prop="investmentType">
|
||||||
<span>{{ filterDict(cacheStore.getDict('invest_type'), localFormData.investmentType) }}</span>
|
<span>{{ filterDict(cacheStore.getDict('invest_type'), localFormData.investmentType) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -38,45 +38,45 @@
|
|||||||
<!-- <span>{{ filterDict(cacheStore.getDict('project_impact'), localFormData.projectImpact) }}</span>-->
|
<!-- <span>{{ filterDict(cacheStore.getDict('project_impact'), localFormData.projectImpact) }}</span>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- </el-col>-->
|
<!-- </el-col>-->
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="所属业务板块" prop="businessSegment">
|
<el-form-item label="所属业务板块" prop="businessSegment">
|
||||||
<span>{{ filterDict(cacheStore.getDict('business_segment'), localFormData.businessSegment) }}</span>
|
<span>{{ filterDict(cacheStore.getDict('business_segment'), localFormData.businessSegment) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="预期技术标准制定" prop="technicalStandard">
|
<el-form-item label="预期技术标准制定" prop="technicalStandard">
|
||||||
<span>{{ filterDict(cacheStore.getDict('technical_standard'), localFormData.technicalStandard) }}</span>
|
<span>{{ filterDict(cacheStore.getDict('technical_standard'), localFormData.technicalStandard) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="产学研联合" prop="industryUniversityResearch">
|
<el-form-item label="产学研联合" prop="industryUniversityResearch">
|
||||||
<span>{{
|
<span>{{
|
||||||
filterDict(cacheStore.getDict('industry_university'), localFormData.industryUniversityResearch)
|
filterDict(cacheStore.getDict('industry_university'), localFormData.industryUniversityResearch)
|
||||||
}}</span>
|
}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="开展政府申报" prop="governmentDeclaration">
|
<el-form-item label="开展政府申报" prop="governmentDeclaration">
|
||||||
<span>{{
|
<span>{{
|
||||||
filterDict(cacheStore.getDict('government_declaration'), localFormData.governmentDeclaration)
|
filterDict(cacheStore.getDict('government_declaration'), localFormData.governmentDeclaration)
|
||||||
}}</span>
|
}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-if="localFormData.isSpecialFund">
|
<el-col :span="6" v-if="localFormData.isSpecialFund">
|
||||||
<el-form-item label="专项资金名称" prop="specialFund">
|
<el-form-item label="专项资金名称" prop="specialFund">
|
||||||
<span>{{
|
<span>{{
|
||||||
localFormData.specialFundId === 0 ? localFormData.specialFund : changeName(fundOption, localFormData.specialFundId)
|
localFormData.specialFundId === 0 ? localFormData.specialFund : changeName(fundOption, localFormData.specialFundId)
|
||||||
}}</span>
|
}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="知识产权状况" prop="intellectualProperty">
|
<el-form-item label="知识产权状况" prop="intellectualProperty">
|
||||||
<span>{{
|
<span>{{
|
||||||
filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty)
|
filterDict(cacheStore.getDict('intellectual_property'), localFormData.intellectualProperty)
|
||||||
}}</span>
|
}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="16">
|
<el-col :span="12">
|
||||||
<el-form-item label="预期成果形式" prop="resultForm">
|
<el-form-item label="预期成果形式" prop="resultForm">
|
||||||
<span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>
|
<span>{{ filterDict(cacheStore.getDict('result_form'), localFormData.resultForm) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -84,48 +84,48 @@
|
|||||||
<el-col :span="24" style="margin-top: -15px">
|
<el-col :span="24" style="margin-top: -15px">
|
||||||
<baseTitle title="预期知识产权"></baseTitle>
|
<baseTitle title="预期知识产权"></baseTitle>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="发明专利(项)" prop="inventionPatent">
|
<el-form-item label="发明专利(项)" prop="inventionPatent">
|
||||||
<span>{{ localFormData.inventionPatent }}</span>
|
<span>{{ localFormData.inventionPatent }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="实用性新型专利(项)" prop="newPatent">
|
<el-form-item label="实用性新型专利(项)" prop="newPatent">
|
||||||
<span>{{ localFormData.newPatent }}</span>
|
<span>{{ localFormData.newPatent }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
|
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
|
||||||
<span>{{ localFormData.softwareCopyright }}</span>
|
<span>{{ localFormData.softwareCopyright }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="著作权(项)" prop="copyright">
|
<el-form-item label="著作权(项)" prop="copyright">
|
||||||
<span>{{ localFormData.copyright }}</span>
|
<span>{{ localFormData.copyright }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="其他(项)" prop="other">
|
<el-form-item label="其他(项)" prop="other">
|
||||||
<span>{{ localFormData.other }}</span>
|
<span>{{ localFormData.other }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="经济预算(元)" prop="economicEstimate">
|
<el-form-item label="经济预算(元)" prop="economicEstimate">
|
||||||
<span>{{ toThousands(localFormData.economicEstimate) }}</span>
|
<span>{{ toThousands(localFormData.economicEstimate) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount"
|
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount"
|
||||||
v-if="localFormData.isSpecialFund">
|
v-if="localFormData.isSpecialFund">
|
||||||
<span>{{ toThousands(localFormData.specialFundAmount) }}</span>
|
<span>{{ toThousands(localFormData.specialFundAmount) }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="12">
|
||||||
<el-form-item label="现有业务描述" prop="serviceDescription">
|
<el-form-item label="现有业务描述" prop="serviceDescription">
|
||||||
<span>{{ localFormData.serviceDescription }}</span>
|
<span>{{ localFormData.serviceDescription }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="12">
|
||||||
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
|
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
|
||||||
<span>{{ localFormData.contentDescription }}</span>
|
<span>{{ localFormData.contentDescription }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -14,6 +14,18 @@ import { getSubCompOpt } from '@/api/user/user.js';
|
|||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const searchConfig = ref([
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '公司名称',
|
||||||
|
prop: 'affiliatedCompanyIds',
|
||||||
|
component: 'el-tree-select',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入公司名称查询',
|
||||||
|
clearable: true,
|
||||||
|
data: [],
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
prop: 'projectName',
|
prop: 'projectName',
|
||||||
@@ -25,18 +37,7 @@ const searchConfig = ref([
|
|||||||
checkStrictly: true
|
checkStrictly: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: '公司名称',
|
|
||||||
prop: 'affiliatedCompanyIds',
|
|
||||||
component: 'el-tree-select',
|
|
||||||
props: {
|
|
||||||
placeholder: '请输入',
|
|
||||||
clearable: true,
|
|
||||||
data: [],
|
|
||||||
filterable: true,
|
|
||||||
checkStrictly: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: '时间',
|
label: '时间',
|
||||||
prop: 'time',
|
prop: 'time',
|
||||||
@@ -107,13 +108,13 @@ const tableConfig = reactive({
|
|||||||
width:85
|
width:85
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'projectName',
|
prop: 'affiliatedCompany',
|
||||||
label: '项目名称',
|
label: '公司名称',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'affiliatedCompany',
|
prop: 'projectName',
|
||||||
label: '公司名称',
|
label: '项目名称',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -52,6 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<opinion v-if="shareData.taskId" :formData="shareData.formData" :taskId="shareData.taskId"
|
<opinion v-if="shareData.taskId" :formData="shareData.formData" :taskId="shareData.taskId"
|
||||||
|
:taskUserOptionList="shareData.taskUserOptionList"
|
||||||
v-model:value="auditOpinion"></opinion>
|
v-model:value="auditOpinion"></opinion>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<opinion-moblie v-if="shareData.taskId" :formData="shareData.formData" :taskId="shareData.taskId"
|
<opinion-moblie v-if="shareData.taskId" :formData="shareData.formData" :taskId="shareData.taskId"
|
||||||
|
:taskUserOptionList="shareData.taskUserOptionList"
|
||||||
v-model:value="auditOpinion"></opinion-moblie>
|
v-model:value="auditOpinion"></opinion-moblie>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
<div v-loading="loading" class="add-block">
|
<div v-loading="loading" class="add-block">
|
||||||
<baseTitle title="需求征集信息录入"></baseTitle>
|
<baseTitle title="需求征集信息录入"></baseTitle>
|
||||||
<el-form :model="formData" ref="demandForm" :rules="rules">
|
<el-form :model="formData" ref="demandForm" :rules="rules">
|
||||||
<el-row gutter="30">
|
<el-row gutter="14">
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="征集名称" prop="requirementName" label-width="96">
|
<el-form-item label="征集名称" prop="requirementName" >
|
||||||
<el-input v-model="formData.requirementName" placeholder="请输入名称" clearable></el-input>
|
<el-input v-model="formData.requirementName" placeholder="请输入名称" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="征集类型" prop="collectType" label-width="105">
|
<el-form-item label="征集类型" prop="collectType">
|
||||||
<el-select v-model="formData.collectType" placeholder="请选择征集类型" clearable filterable>
|
<el-select v-model="formData.collectType" placeholder="请选择征集类型" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('collect_type')"
|
v-for="item in cacheStore.getDict('collect_type')"
|
||||||
@@ -20,10 +20,11 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="需求上报截止时间" prop="deadline">
|
<el-form-item label="需求上报截止时间" prop="deadline">
|
||||||
<el-config-provider>
|
<el-config-provider>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
|
style="width: 100%"
|
||||||
v-model="formData.deadline"
|
v-model="formData.deadline"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="需求上报截止时间"
|
placeholder="需求上报截止时间"
|
||||||
@@ -33,15 +34,15 @@
|
|||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="是否专项资金" prop="isSpecialFund">
|
<el-form-item label="专项资金" prop="isSpecialFund" required>
|
||||||
<el-select v-model="formData.isSpecialFund" placeholder="是否专项资金" clearable filterable>
|
<el-select v-model="formData.isSpecialFund" placeholder="是否专项资金" clearable filterable>
|
||||||
<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>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<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>
|
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
@@ -54,7 +55,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" style="margin-bottom: -25px">
|
<el-col :span="24" style="margin-bottom: -25px">
|
||||||
<el-form-item label="征集公司" :required="true" prop="" class="company-select" label-width="96">
|
<el-form-item label="征集公司" :required="true" prop="" class="company-select">
|
||||||
<div style="width: 100%">
|
<div style="width: 100%">
|
||||||
<el-button color="#DED0B2" @click="showCompany">{{ selectedCompanyList.length === 0 ? '请选择征集公司' : '更改' }}
|
<el-button color="#DED0B2" @click="showCompany">{{ selectedCompanyList.length === 0 ? '请选择征集公司' : '更改' }}
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<div class="oper-page-btn" v-if="collectData.formData?.report">
|
<div class="oper-page-btn" v-if="collectData.formData?.report">
|
||||||
<el-button color="#DED0B2" @click="handleDemandReport">需求上报</el-button>
|
<el-button color="#DED0B2" @click="handleDemandReport">需求上报</el-button>
|
||||||
</div>
|
</div>
|
||||||
<opinion v-if="collectData.taskId" :formData="formData" :taskId="collectData.taskId"
|
<opinion v-if="collectData.taskId" :formData="formData" :taskId="collectData.taskId" :taskUserOptionList="collectData.taskUserOptionList"
|
||||||
v-model:value="auditOpinion"></opinion>
|
v-model:value="auditOpinion"></opinion>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<CollectionDetailMoblie :formData="collectData.formData" :data="collectData" type="singleDetail"
|
<CollectionDetailMoblie :formData="collectData.formData" :data="collectData" type="singleDetail"
|
||||||
:fileListShow="fileListShow"
|
:fileListShow="fileListShow"
|
||||||
:processViewer="processViewer" :loading="loading" v-model:value="auditOpinion"/>
|
:processViewer="processViewer" :loading="loading" v-model:value="auditOpinion"/>
|
||||||
<OpinionMoblie v-if="collectData.taskId" :formData="formData" :taskId="collectData.taskId" v-model:value="auditOpinion"></OpinionMoblie>
|
<OpinionMoblie v-if="collectData.taskId" :formData="formData" :taskId="collectData.taskId" :taskUserOptionList="collectData.taskUserOptionList" v-model:value="auditOpinion"></OpinionMoblie>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
<div class="detail-block" v-loading="loading">
|
<div class="detail-block" v-loading="loading">
|
||||||
<baseTitle title="需求上报"></baseTitle>
|
<baseTitle title="需求上报"></baseTitle>
|
||||||
<el-form :model="formData" ref="summaryForm" :rules="rules">
|
<el-form :model="formData" ref="summaryForm" :rules="rules">
|
||||||
<el-row gutter="15">
|
<el-row gutter="14">
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="项目名称" prop="projectName" label-width="125">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
|
<el-input v-model="formData.projectName" placeholder="请输入项目名称" clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="开始时间" prop="startTime" label-width="145">
|
<el-form-item label="开始时间" prop="startTime">
|
||||||
<el-config-provider>
|
<el-config-provider>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formData.startTime"
|
v-model="formData.startTime"
|
||||||
@@ -22,9 +22,9 @@
|
|||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="结束时间" prop="endTime"
|
<el-form-item label="结束时间" prop="endTime"
|
||||||
:title="!formData.startTime?'请先选择开始时间!':''" label-width="135">
|
:title="!formData.startTime?'请先选择开始时间!':''">
|
||||||
<el-config-provider>
|
<el-config-provider>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="formData.endTime"
|
v-model="formData.endTime"
|
||||||
@@ -39,8 +39,8 @@
|
|||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="项目类型" prop="projectType" label-width="125">
|
<el-form-item label="项目类型" prop="projectType">
|
||||||
<el-select v-model="formData.projectType" placeholder="请选择项目类型" clearable filterable>
|
<el-select v-model="formData.projectType" placeholder="请选择项目类型" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('project_type')"
|
v-for="item in cacheStore.getDict('project_type')"
|
||||||
@@ -51,8 +51,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="研发主体" prop="rdSubject" label-width="145">
|
<el-form-item label="研发主体" prop="rdSubject">
|
||||||
<el-select v-model="formData.rdSubject" placeholder="请选择研发主体" clearable filterable>
|
<el-select v-model="formData.rdSubject" placeholder="请选择研发主体" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('rd_subject')"
|
v-for="item in cacheStore.getDict('rd_subject')"
|
||||||
@@ -63,8 +63,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="出资类型" prop="investmentType" label-width="135">
|
<el-form-item label="出资类型" prop="investmentType">
|
||||||
<el-select v-model="formData.investmentType" placeholder="请选择出资类型" clearable filterable>
|
<el-select v-model="formData.investmentType" placeholder="请选择出资类型" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('invest_type')"
|
v-for="item in cacheStore.getDict('invest_type')"
|
||||||
@@ -87,8 +87,8 @@
|
|||||||
<!-- </el-select>-->
|
<!-- </el-select>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- </el-col>-->
|
<!-- </el-col>-->
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="所属业务板块" prop="businessSegment" label-width="125">
|
<el-form-item label="业务板块" prop="businessSegment">
|
||||||
<el-select v-model="formData.businessSegment" placeholder="请选择所属业务板块" clearable filterable>
|
<el-select v-model="formData.businessSegment" placeholder="请选择所属业务板块" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('business_segment')"
|
v-for="item in cacheStore.getDict('business_segment')"
|
||||||
@@ -99,8 +99,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="预期技术标准制定" prop="technicalStandard" label-width="145">
|
<el-form-item label="技术标准" prop="technicalStandard">
|
||||||
<el-select v-model="formData.technicalStandard" placeholder="请选择预期技术标准制定" clearable filterable>
|
<el-select v-model="formData.technicalStandard" placeholder="请选择预期技术标准制定" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('technical_standard')"
|
v-for="item in cacheStore.getDict('technical_standard')"
|
||||||
@@ -113,8 +113,8 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="route.query.id && formData.isSpecialFund?8:!formData.isSpecialFund?!route.query.id?6:8:6">-->
|
<!-- <el-col :span="route.query.id && formData.isSpecialFund?8:!formData.isSpecialFund?!route.query.id?6:8:6">-->
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="产学研联合" prop="industryUniversityResearch" label-width="135">
|
<el-form-item label="产学研联合" prop="industryUniversityResearch">
|
||||||
<el-radio-group v-model="formData.industryUniversityResearch">
|
<el-radio-group v-model="formData.industryUniversityResearch">
|
||||||
<el-radio v-for="item in cacheStore.getDict('industry_university')"
|
<el-radio v-for="item in cacheStore.getDict('industry_university')"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -124,10 +124,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="route.query.id && formData.isSpecialFund?8:!formData.isSpecialFund?route.query.id?8:6:6">-->
|
<!-- <el-col :span="route.query.id && formData.isSpecialFund?8:!formData.isSpecialFund?route.query.id?8:6:6">-->
|
||||||
</el-row>
|
<!-- </el-row>-->
|
||||||
<el-row gutter="15">
|
<!-- <el-row gutter="10">-->
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="开展政府申报" prop="governmentDeclaration" label-width="125">
|
<el-form-item label="开展政府申报" prop="governmentDeclaration">
|
||||||
<!-- :label-width="route.query.id && formData.isSpecialFund?145:!formData.isSpecialFund?145:145">-->
|
<!-- :label-width="route.query.id && formData.isSpecialFund?145:!formData.isSpecialFund?145:145">-->
|
||||||
<el-radio-group v-model="formData.governmentDeclaration">
|
<el-radio-group v-model="formData.governmentDeclaration">
|
||||||
<el-radio v-for="item in cacheStore.getDict('government_declaration')"
|
<el-radio v-for="item in cacheStore.getDict('government_declaration')"
|
||||||
@@ -138,22 +138,21 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="!route.query.id && formData.isSpecialFund?4:!route.query.id?12:12" v-if="!route.query.id">-->
|
<!-- <el-col :span="!route.query.id && formData.isSpecialFund?4:!route.query.id?12:12" v-if="!route.query.id">-->
|
||||||
<el-col :span="8" v-if="!route.query.id">
|
<el-col :span="6" v-if="!route.query.id">
|
||||||
<el-form-item label="是否专项资金" prop="isSpecialFund" label-width="145">
|
<el-form-item label="是否专项资金" prop="isSpecialFund" required>
|
||||||
<el-radio-group v-model="formData.isSpecialFund" @change="specialFundChange">
|
<el-radio-group v-model="formData.isSpecialFund" @change="specialFundChange">
|
||||||
<el-radio :label="true">是</el-radio>
|
<el-radio :label="true">是</el-radio>
|
||||||
<el-radio :label="false">否</el-radio>
|
<el-radio :label="false">否</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-if="route.query.id && formData.isSpecialFund">
|
<el-col :span="6" v-if="route.query.id && formData.isSpecialFund">
|
||||||
<el-form-item label="专项资金名称" prop="specialFundId"
|
<el-form-item label="专项资金名称" prop="specialFundId">
|
||||||
:label-width="route.query.id && formData.isSpecialFund?145:''">
|
|
||||||
<span>{{ formData.specialFund }}</span>
|
<span>{{ formData.specialFund }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" v-if="!route.query.id && formData.isSpecialFund">
|
<el-col :span="6" v-if="!route.query.id && formData.isSpecialFund">
|
||||||
<el-form-item label="专项资金名称" prop="specialFundId" label-width="135">
|
<el-form-item label="专项资金" prop="specialFundId">
|
||||||
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable>
|
<el-select v-model="formData.specialFundId" placeholder="请选择专项资金名称" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in specialFundOption"
|
v-for="item in specialFundOption"
|
||||||
@@ -164,10 +163,11 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" style="margin-bottom: -18px">
|
</el-row>
|
||||||
|
<el-row gutter="14">
|
||||||
|
<el-col :span="6" style="margin-bottom: -18px">
|
||||||
<!-- :label-width="!formData.isSpecialFund?!route.query.id?125:125:125">-->
|
<!-- :label-width="!formData.isSpecialFund?!route.query.id?125:125:125">-->
|
||||||
<el-form-item label="知识产权状况" prop="intellectualProperty"
|
<el-form-item label="知识产权状况" prop="intellectualProperty">
|
||||||
:label-width="route.query.id && formData.isSpecialFund?135:formData.isSpecialFund?125:route.query.id?145:135">
|
|
||||||
<el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权状况" clearable filterable>
|
<el-select v-model="formData.intellectualProperty" placeholder="请选择知识产权状况" clearable filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('intellectual_property')"
|
v-for="item in cacheStore.getDict('intellectual_property')"
|
||||||
@@ -178,10 +178,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="route.query.id && formData.isSpecialFund?24:formData.isSpecialFund?16:24"
|
<el-col :span="12" style="margin-bottom: -18px">
|
||||||
style="margin-bottom: -18px">
|
<el-form-item label="成果形式" prop="resultForm">
|
||||||
<el-form-item label="预期成果形式" prop="resultForm"
|
|
||||||
:label-width="route.query.id && formData.isSpecialFund?125:formData.isSpecialFund?145:125">
|
|
||||||
<el-select v-model="formData.resultForm" placeholder="请选择预期成果形式" clearable filterable multiple>
|
<el-select v-model="formData.resultForm" placeholder="请选择预期成果形式" clearable filterable multiple>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in cacheStore.getDict('result_form')"
|
v-for="item in cacheStore.getDict('result_form')"
|
||||||
@@ -192,62 +190,62 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row gutter="15">
|
<el-row gutter="14">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<baseTitle title="预期知识产权"></baseTitle>
|
<baseTitle title="预期知识产权"></baseTitle>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="发明专利(项)" prop="inventionPatent" label-width="125">
|
<el-form-item label="发明专利(项)" prop="inventionPatent" label-width="105">
|
||||||
<el-input-number v-model="formData.inventionPatent" placeholder="请输入发明专利数量" :controls="false"/>
|
<el-input-number v-model="formData.inventionPatent" placeholder="请输入发明专利数量" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="实用性新型专利(项)" prop="newPatent" label-width="145">
|
<el-form-item label="新型专利(项)" prop="newPatent">
|
||||||
<el-input-number v-model="formData.newPatent" placeholder="请输入实用性新型专利数量" :controls="false"/>
|
<el-input-number v-model="formData.newPatent" placeholder="请输入实用性新型专利数量" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="软件著作权(项)" prop="softwareCopyright" label-width="135">
|
<el-form-item label="软件著作权(项)" prop="softwareCopyright">
|
||||||
<el-input-number v-model="formData.softwareCopyright" placeholder="请输入软件著作权数量" :controls="false"/>
|
<el-input-number v-model="formData.softwareCopyright" placeholder="请输入软件著作权数量" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="著作权(项)" prop="copyright" label-width="125">
|
<el-form-item label="著作权(项)" prop="copyright">
|
||||||
<el-input-number v-model="formData.copyright" placeholder="请输入著作权数量" :controls="false"/>
|
<el-input-number v-model="formData.copyright" placeholder="请输入著作权数量" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="其他(项)" prop="other" label-width="145">
|
<el-form-item label="其他(项)" prop="other" label-width="105">
|
||||||
<el-input-number v-model="formData.other" placeholder="请输入其他数量" :controls="false"/>
|
<el-input-number v-model="formData.other" placeholder="请输入其他数量" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item label="经济预算(元)" prop="economicEstimate" label-width="135">
|
<el-form-item label="经济预算(元)" prop="economicEstimate">
|
||||||
<el-input-number v-model="formData.economicEstimate" placeholder="请输入经济预算数量" :controls="false"/>
|
<el-input-number v-model="formData.economicEstimate" placeholder="请输入经济预算数量" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="16" v-if="formData.isSpecialFund">
|
<el-col :span="12" v-if="formData.isSpecialFund">
|
||||||
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount">
|
<el-form-item label="其中申请公司总部科技创新专项资金(元)" prop="specialFundAmount">
|
||||||
<el-input-number v-model="formData.specialFundAmount" placeholder="请输入专项资金" :controls="false"/>
|
<el-input-number v-model="formData.specialFundAmount" placeholder="请输入专项资金" :controls="false"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
</el-row>
|
||||||
<el-form-item label="现有业务描述" prop="serviceDescription" label-width="125">
|
<el-row gutter="14">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="现有业务描述" prop="serviceDescription">
|
||||||
<el-input v-model="formData.serviceDescription" placeholder="请输入现有业务描述" rows="4" type="textarea"
|
<el-input v-model="formData.serviceDescription" placeholder="请输入现有业务描述" rows="4" type="textarea"
|
||||||
clearable></el-input>
|
clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="12">
|
||||||
<el-form-item label="研发项目关键内容描述" prop="contentDescription" label-width="125">
|
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
|
||||||
<el-input v-model="formData.contentDescription" placeholder="请输入研发项目关键内容描述" rows="4" type="textarea"
|
<el-input v-model="formData.contentDescription" placeholder="请输入研发项目关键内容描述" rows="4" type="textarea"
|
||||||
clearable></el-input>
|
clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="分管领导"
|
<el-form-item label="分管领导" label-width="120">
|
||||||
label-width="125">
|
|
||||||
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
|
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
|
||||||
{{ optionalChargeLeadershipList.length !== 0 ? '更改' : '请选择' }}
|
{{ optionalChargeLeadershipList.length !== 0 ? '更改' : '请选择' }}
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -461,7 +459,7 @@ const handleSubmit = debounce(async (instance) => {
|
|||||||
otherFileList.value.forEach(item => {
|
otherFileList.value.forEach(item => {
|
||||||
otherFiles.push(getFileParam(item))
|
otherFiles.push(getFileParam(item))
|
||||||
})
|
})
|
||||||
formData.value.optionalChargeLeadership=optionalChargeLeadershipList.value
|
formData.value.optionalChargeLeadership = optionalChargeLeadershipList.value
|
||||||
if (formData.value.singleFile !== undefined) {
|
if (formData.value.singleFile !== undefined) {
|
||||||
formData.value.singleFile = getFileParam(formData.value.singleFile)
|
formData.value.singleFile = getFileParam(formData.value.singleFile)
|
||||||
}
|
}
|
||||||
@@ -515,7 +513,7 @@ const handleResubmit = debounce((instance) => {
|
|||||||
otherFiles.push(getFileParam(item))
|
otherFiles.push(getFileParam(item))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
formData.value.optionalChargeLeadership=optionalChargeLeadershipList.value
|
formData.value.optionalChargeLeadership = optionalChargeLeadershipList.value
|
||||||
if (formData.value.isSpecialFund && formData.value.specialFund === null) {
|
if (formData.value.isSpecialFund && formData.value.specialFund === null) {
|
||||||
formData.value.specialFund = getFundName(formData.value.specialFundId)
|
formData.value.specialFund = getFundName(formData.value.specialFundId)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
v-model:value="auditOpinion"/>
|
v-model:value="auditOpinion"/>
|
||||||
</template>
|
</template>
|
||||||
</steps>
|
</steps>
|
||||||
<opinion v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId"
|
<opinion v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId" :taskUserOptionList="summaryData.taskUserOptionList"
|
||||||
v-model:value="auditOpinion"></opinion>
|
v-model:value="auditOpinion"></opinion>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
|||||||
import {toThousands} from '@/utils/changePrice.js'
|
import {toThousands} from '@/utils/changePrice.js'
|
||||||
import {switchAttachmentState} from "@/api/project-manage/attachment";
|
import {switchAttachmentState} from "@/api/project-manage/attachment";
|
||||||
import {ElMessageBox} from "element-plus";
|
import {ElMessageBox} from "element-plus";
|
||||||
|
import { getSubCompOpt } from '@/api/user/user.js';
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const shortcuts = [
|
const shortcuts = [
|
||||||
@@ -43,7 +44,19 @@ const shortcuts = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
const searchConfig = reactive([
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '征集公司',
|
||||||
|
prop: 'affiliatedCompanyId',
|
||||||
|
component: 'el-tree-select',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入征集公司查询',
|
||||||
|
clearable: true,
|
||||||
|
data: [],
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
prop: 'projectName',
|
prop: 'projectName',
|
||||||
@@ -346,4 +359,10 @@ const handleOpenUpload=(row,flag)=>{
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const init = async () => {
|
||||||
|
const res = await getSubCompOpt()
|
||||||
|
searchConfig.value.find(item=>item.prop == 'affiliatedCompanyId').props.data = res.data
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</steps>
|
</steps>
|
||||||
<div style="width: 100%;height: 30px"></div>
|
<div style="width: 100%;height: 30px"></div>
|
||||||
<opinion v-if="detailData.taskId" :formData="detailData.formData" :taskId="detailData.taskId"
|
<opinion v-if="detailData.taskId" :formData="detailData.formData" :taskId="detailData.taskId" :taskUserOptionList="detailData.taskUserOptionList"
|
||||||
v-model:value="auditOpinion"/>
|
v-model:value="auditOpinion"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {toThousands} from '@/utils/changePrice.js'
|
import {toThousands} from '@/utils/changePrice.js'
|
||||||
|
import { getSubCompOpt } from '@/api/user/user.js';
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const shortcuts = [
|
const shortcuts = [
|
||||||
@@ -41,7 +42,19 @@ const shortcuts = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
const searchConfig = reactive([
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '征集公司',
|
||||||
|
prop: 'affiliatedCompanyId',
|
||||||
|
component: 'el-tree-select',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入征集公司查询',
|
||||||
|
clearable: true,
|
||||||
|
data: [],
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
prop: 'projectName',
|
prop: 'projectName',
|
||||||
@@ -400,5 +413,10 @@ const handlePhaseChangeEdit = (row) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const init = async () => {
|
||||||
|
const res = await getSubCompOpt()
|
||||||
|
searchConfig.value.find(item=>item.prop == 'affiliatedCompanyId').props.data = res.data
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<div style="color: #606266;font-size: 14px;height:25px;"><span style="display:inline-block;text-align: right;margin-right: 14px">抄送人</span>{{copyName?copyName:'--'}}</div>
|
<div style="color: #606266;font-size: 14px;height:25px;"><span style="display:inline-block;text-align: right;margin-right: 14px">抄送人</span>{{copyName?copyName:'--'}}</div>
|
||||||
<ApprovalDetail :formData="summaryData.formData" :data="summaryData" type="phase"
|
<ApprovalDetail :formData="summaryData.formData" :data="summaryData" type="phase"
|
||||||
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow" v-model:value="auditOpinion"/>
|
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow" v-model:value="auditOpinion"/>
|
||||||
<opinion v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId" v-model:value="auditOpinion"></opinion>
|
<opinion v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId" :taskUserOptionList="summaryData.taskUserOptionList" v-model:value="auditOpinion"></opinion>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<script setup lang="jsx">
|
<script setup lang="jsx">
|
||||||
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
import fvSelect from '@/fvcomponents/fvSelect/index.vue'
|
||||||
import {toThousands} from '@/utils/changePrice.js'
|
import {toThousands} from '@/utils/changePrice.js'
|
||||||
|
import { getSubCompOpt } from '@/api/user/user.js';
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const shortcuts = [
|
const shortcuts = [
|
||||||
{
|
{
|
||||||
@@ -40,7 +41,19 @@ const shortcuts = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
const searchConfig = reactive([
|
const searchConfig = ref([
|
||||||
|
{
|
||||||
|
label: '征集公司',
|
||||||
|
prop: 'affiliatedCompanyId',
|
||||||
|
component: 'el-tree-select',
|
||||||
|
props: {
|
||||||
|
placeholder: '请输入征集公司查询',
|
||||||
|
clearable: true,
|
||||||
|
data: [],
|
||||||
|
filterable: true,
|
||||||
|
checkStrictly: true
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '项目名称',
|
label: '项目名称',
|
||||||
prop: 'projectName',
|
prop: 'projectName',
|
||||||
@@ -314,5 +327,10 @@ const handleApply = (row) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const init = async () => {
|
||||||
|
const res = await getSubCompOpt()
|
||||||
|
searchConfig.value.find(item=>item.prop == 'affiliatedCompanyId').props.data = res.data
|
||||||
|
}
|
||||||
|
|
||||||
|
init()
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- <baseTitle title="审核意见"></baseTitle>-->
|
<!-- <baseTitle title="审核意见"></baseTitle>-->
|
||||||
<!-- <fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm>-->
|
<!-- <fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm>-->
|
||||||
<div class="oper-page-btn">
|
<div class="oper-page-btn" style="display: flex">
|
||||||
<el-button type="danger" @click="handleReject">驳回</el-button>
|
<el-select v-if="taskUserOptionList?.length>0" v-model="backNode" placeholder="请选择退回节点" clearable style="width: 150px;margin-right: 10px">
|
||||||
|
<el-option
|
||||||
|
v-for="item in taskUserOptionList"
|
||||||
|
:key="item.nodeId"
|
||||||
|
:label="item.nodeName + (item.userInfo ? ':' + item.userInfo.name : '')"
|
||||||
|
:value="item.nodeId">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<el-button type="danger" @click="rollbackHandler">驳回</el-button>
|
||||||
<el-button color="#DED0B2" @click="handleAgree">同意</el-button>
|
<el-button color="#DED0B2" @click="handleAgree">同意</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -27,9 +35,15 @@ const props = defineProps({
|
|||||||
value: {
|
value: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: ''
|
||||||
|
},
|
||||||
|
//退回节点选择框数据
|
||||||
|
taskUserOptionList: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const backNode = ref('')
|
||||||
const form = ref()
|
const form = ref()
|
||||||
const schema = computed(() => {
|
const schema = computed(() => {
|
||||||
return [
|
return [
|
||||||
@@ -146,6 +160,35 @@ const handleReject = async () => {
|
|||||||
// back()
|
// back()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//回退节点
|
||||||
|
const rollbackHandler = async () => {
|
||||||
|
// const values = form.value.getValues()
|
||||||
|
if (!_value.value) {
|
||||||
|
ElNotification({
|
||||||
|
title: '提示',
|
||||||
|
message: '请填写审核意见',
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const params = {
|
||||||
|
taskId: props.taskId,
|
||||||
|
// ...values
|
||||||
|
auditOpinion: _value.value,
|
||||||
|
rollBackId: backNode.value
|
||||||
|
}
|
||||||
|
// console.log('params', params)
|
||||||
|
const res = await rejectTask(params)
|
||||||
|
ElNotification({
|
||||||
|
title: '提示',
|
||||||
|
message: res.msg,
|
||||||
|
type: res.code === 1000 ? 'success' : 'error'
|
||||||
|
})
|
||||||
|
if (res.code === 1000) {
|
||||||
|
tagsViewStore.delVisitedViews(router.currentRoute.value.path)
|
||||||
|
back()
|
||||||
|
}
|
||||||
|
}
|
||||||
const handleAgree = async () => {
|
const handleAgree = async () => {
|
||||||
// const values = form.value.getValues()
|
// const values = form.value.getValues()
|
||||||
const params = {
|
const params = {
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
<opinion-moblie v-if="fundData.taskId" :formData="formData" :taskId="fundData.taskId"
|
<opinion-moblie v-if="fundData.taskId" :formData="formData" :taskId="fundData.taskId" :taskUserOptionList="fundData.taskUserOptionList"
|
||||||
v-model:value="formData.auditOpinion"></opinion-moblie>
|
v-model:value="formData.auditOpinion"></opinion-moblie>
|
||||||
<file-preview ref="filePreviewRef" :fullscreen="true" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl"
|
<file-preview ref="filePreviewRef" :fullscreen="true" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl"
|
||||||
:fileType="filePreviewParam.fileType"/>
|
:fileType="filePreviewParam.fileType"/>
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
<!-- :formData="detailData.formData"/>-->
|
<!-- :formData="detailData.formData"/>-->
|
||||||
</template>
|
</template>
|
||||||
</StepsMoblie>
|
</StepsMoblie>
|
||||||
<opinion-moblie v-if="detailData.taskId" :formData="detailData.formData" :taskId="detailData.taskId"
|
<opinion-moblie v-if="detailData.taskId" :formData="detailData.formData" :taskId="detailData.taskId" :taskUserOptionList="detailData.taskUserOptionList"
|
||||||
v-model:value="auditOpinion"/>
|
v-model:value="auditOpinion"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
<ApprovalDetailMoblie :formData="summaryData.formData" :data="summaryData" type="phase"
|
<ApprovalDetailMoblie :formData="summaryData.formData" :data="summaryData" type="phase"
|
||||||
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow" v-model:value="auditOpinion"/>
|
:processViewer="summaryProcessViewer" :loading="loading" :fileListShow="fileListShow" v-model:value="auditOpinion"/>
|
||||||
<opinion-moblie v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId"
|
<opinion-moblie v-if="summaryData.taskId" :formData="summaryData.formData" :taskId="summaryData.taskId"
|
||||||
|
:taskUserOptionList="summaryData.taskUserOptionList"
|
||||||
v-model:value="auditOpinion"/>
|
v-model:value="auditOpinion"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user