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