导出
@@ -38,77 +26,277 @@ import fvSelect from '@/fvcomponents/fvSelect/index.vue'
import {toThousands} from '@/utils/changePrice.js'
import {getBaseInfoApi} from "@/components/steps/api";
import {searchUpdateLedgerData, exportExcel,ledgerTemplateDownload} from "@/api/project-manage";
-// import ImportExcel from "../../../components/ImportExcel";
+import {useCacheStore} from '@/stores/cache.js'
+const cacheStore = useCacheStore()
const router = useRouter()
const route = useRoute()
const projectId = ref(route.query.id)
const basicData = ref({})
const tableData = ref({})
-const formDataArray = ref([
- {
- label: '项目负责人',
- prop: 'projectChargePersonName',
- colProps: {
- span: 8
- },
- labelWidth:'left'
- },
- {
- label: '项目开始时间',
- prop: 'startTime',
- colProps: {
- span: 8
- },
- labelWidth:'left'
- },
- {
- label: '项目预计持续时间',
- prop: 'endTime',
- colProps: {
- span: 8
- },
- labelWidth:'left'
- },
- {
- label: '项目开展方式',
- prop: 'projectDevelopmentWay',
- colProps: {
- span: 24
- },
- labelWidth:'left'
- },
- {
- label: '项目预算',
- prop: 'projectBudgetDescription',
- colProps: {
- span: 24
- },
- labelWidth:'left'
- },
- {
- label: '项目总体完成率',
- prop: 'projectCompletionRate',
- colProps: {
- span: 8
- },
- labelWidth:'left',
- component: () =>
{tableData.value.projectCompletionRate}%
- },
- {
- label: '已完成工作量',
- prop: 'completeWork',
- colProps: {
- span: 16
- },
- labelWidth:'left'
- }
-])
const buttonShow = ref(false)
const schema = computed(() => {
- return formDataArray.value
+ return [
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 6
+ }
+ },
+ {
+ label: '项目名称',
+ prop: 'projectName',
+ colProps: {
+ span: 6
+ }
+ },
+
+ {
+ label: '开始时间',
+ prop: 'startTime',
+ colProps: {
+ span: 6
+ }
+ },
+ {
+ label: '结束时间',
+ prop: 'endTime',
+ colProps: {
+ span: 6
+ }
+ },
+ {
+ label: '项目类型',
+ prop: 'projectType',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), basicData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), basicData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), basicData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), basicData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), basicData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), basicData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.economicEstimate ?
+ { toThousands(basicData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), basicData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ basicData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), basicData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
+ colProps: {
+ span: 6
+ }
+ },
+ {
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
+ colProps: {
+ span: 6
+ }
+ },
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
+ colProps: {
+ span: 6
+ }
+ }
+ ]
+})
+
+const tableUpdateData = computed(() => {
+ return [
+ {
+ label: '项目负责人',
+ prop: 'projectChargePersonName',
+ colProps: {
+ span: 6
+ },
+ labelWidth:'left'
+ },
+ {
+ label: '项目开始时间',
+ prop: 'startTime',
+ colProps: {
+ span: 6
+ },
+ labelWidth:'left'
+ },
+ {
+ label: '项目预计持续时间',
+ prop: 'endTime',
+ colProps: {
+ span: 6
+ },
+ labelWidth:'left'
+ },
+ {
+ label: '项目开展方式',
+ prop: 'projectDevelopmentWay',
+ colProps: {
+ span: 24
+ },
+ labelWidth:'left'
+ },
+ {
+ label: '项目预算',
+ prop: 'projectBudgetDescription',
+ colProps: {
+ span: 24
+ },
+ labelWidth:'left'
+ },
+ {
+ label: '项目总体完成率',
+ prop: 'projectCompletionRate',
+ colProps: {
+ span: 6
+ },
+ labelWidth:'left',
+ component: () =>
{tableData.value.projectCompletionRate}%
+ },
+ {
+ label: '已完成工作量',
+ prop: 'completeWork',
+ colProps: {
+ span: 18
+ },
+ labelWidth:'left'
+ }
+ ]
})
const baseForm = ref()
+const tableUpdateFormData = ref()
const tableIns = ref()
const btns = ref([
{name: '导出', key: 'export', color: '#DED0B2', auth: ''}
@@ -238,6 +426,32 @@ const tableConfig = reactive({
// btns: btns.value
})
// const exportIds=ref([])
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
+
const selectionChange = (data) => {
console.log('data', data)
console.log(' data.forEach(item=>item.id)', data.forEach(item => item.id))
@@ -253,6 +467,7 @@ const handleUpdateTable = () => {
const getBaseInfo = async () => {
try {
const {code, data} = await getBaseInfoApi(route.query.id)
+ baseForm.value.setValues(data)
basicData.value = data
} catch {
}
@@ -265,7 +480,7 @@ const init = async () => {
nextTick(() => {
buttonShow.value = !data.view
})
- baseForm.value.setValues(data)
+ tableUpdateFormData.value.setValues(data)
}
}
getBaseInfo()
diff --git a/src/views/project-management/implementation/attachment.vue b/src/views/project-management/implementation/attachment.vue
index 9196c59..95bfc8e 100644
--- a/src/views/project-management/implementation/attachment.vue
+++ b/src/views/project-management/implementation/attachment.vue
@@ -1,6 +1,6 @@
-
- baseForm = e">
+
+ baseForm = e" label-position="left" label-width="left">
@@ -33,46 +33,217 @@ import {getTags} from "@/api/project-manage";
import {ElNotification} from "element-plus";
import {getBaseInfoApi} from "@/components/steps/api";
import {searchImplementationFileList} from "@/api/project-manage/attachment";
-import {computed} from "vue";
+import {useCacheStore} from '@/stores/cache.js'
+import {toThousands} from '@/utils/changePrice.js'
+import {computed, ref} from "vue";
+const cacheStore = useCacheStore()
const route = useRoute()
const router = useRouter()
const uploadState = ref(false)
const attachment = reactive({
tag: ''
})
+const baseFormData = ref([])
const schema = computed(() => {
return [
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 6
+ }
+ },
{
label: '项目名称',
prop: 'projectName',
colProps: {
- span: 8
+ span: 6
+ }
+ },
+
+ {
+ label: '开始时间',
+ prop: 'startTime',
+ colProps: {
+ span: 6
}
},
{
- label: '征集公司',
- prop: 'affiliatedCompany',
+ label: '结束时间',
+ prop: 'endTime',
colProps: {
- span: 8
+ span: 6
}
},
{
- label: '征集名称',
- prop: 'requirementName',
+ label: '项目类型',
+ prop: 'projectType',
colProps: {
- span: 8
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), baseFormData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), baseFormData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), baseFormData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), baseFormData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), baseFormData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), baseFormData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.economicEstimate ?
+ { toThousands(baseFormData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), baseFormData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), baseFormData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
+ colProps: {
+ span: 6
}
},
{
- label: '征集描述',
- prop: 'collectExplain',
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
colProps: {
- span: 24
+ span: 6
}
},
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
+ colProps: {
+ span: 6
+ }
+ }
]
})
+
const baseForm = ref()
const tagsOption = ref([])
const tableConfig = reactive({
@@ -117,10 +288,37 @@ const tableConfig = reactive({
})
const showTable = ref(true)
const otherFileList = ref([])
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
+
const getBaseInfo = async () => {
try {
const {code, data} = await getBaseInfoApi(route.query.id)
baseForm.value.setValues(data)
+ baseFormData.value = data
} catch {
}
}
diff --git a/src/views/project-management/implementation/phase.vue b/src/views/project-management/implementation/phase.vue
index a3595ac..a338d72 100644
--- a/src/views/project-management/implementation/phase.vue
+++ b/src/views/project-management/implementation/phase.vue
@@ -1,7 +1,7 @@
-
baseForm = e" >
+
baseForm = e" label-position="left" label-width="left">
@@ -52,7 +52,10 @@ import {useProcessStore} from '@/stores/processStore.js';
import {useTagsView} from '@/stores/tagsview.js'
import {computed, ref} from "vue";
import {getBaseInfoApi} from "@/components/steps/api";
+import {useCacheStore} from '@/stores/cache.js'
+import {toThousands} from '@/utils/changePrice.js'
+const cacheStore = useCacheStore()
const changeDiagram = ref(false)
const tagsViewStore = useTagsView()
const router = useRouter()
@@ -73,43 +76,238 @@ const processInstanceData = ref()
const processDiagramViewer = ref(true)
const userList = ref([])
const processStore = useProcessStore()
+const baseFormData = ref([])
const schema = computed(() => {
return [
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 6
+ }
+ },
{
label: '项目名称',
prop: 'projectName',
colProps: {
- span: 8
+ span: 6
+ }
+ },
+
+ {
+ label: '开始时间',
+ prop: 'startTime',
+ colProps: {
+ span: 6
}
},
{
- label: '征集公司',
- prop: 'affiliatedCompany',
+ label: '结束时间',
+ prop: 'endTime',
colProps: {
- span: 8
+ span: 6
}
},
{
- label: '征集名称',
- prop: 'requirementName',
+ label: '项目类型',
+ prop: 'projectType',
colProps: {
- span: 8
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), baseFormData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), baseFormData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), baseFormData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), baseFormData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), baseFormData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), baseFormData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.economicEstimate ?
+ { toThousands(baseFormData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), baseFormData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), baseFormData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
+ colProps: {
+ span: 6
}
},
{
- label: '征集描述',
- prop: 'collectExplain',
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
colProps: {
- span: 24
+ span: 6
}
},
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
+ colProps: {
+ span: 6
+ }
+ }
]
})
+
const baseForm = ref()
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
+
const getBaseInfo = async () => {
try {
const {code, data} = await getBaseInfoApi(route.query.projectId)
baseForm.value.setValues(data)
+ baseFormData.value = data
} catch {
}
}
diff --git a/src/views/project-management/implementation/phaseDetail.vue b/src/views/project-management/implementation/phaseDetail.vue
index d68cf6f..bc801a6 100644
--- a/src/views/project-management/implementation/phaseDetail.vue
+++ b/src/views/project-management/implementation/phaseDetail.vue
@@ -1,6 +1,6 @@
-
- baseForm = e" >
+
+ baseForm = e" label-position="left" label-width="left">
抄送人{{copyName?copyName:'--'}}
{
return [
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 6
+ }
+ },
{
label: '项目名称',
prop: 'projectName',
colProps: {
- span: 8
+ span: 6
+ }
+ },
+
+ {
+ label: '开始时间',
+ prop: 'startTime',
+ colProps: {
+ span: 6
}
},
{
- label: '征集公司',
- prop: 'affiliatedCompany',
+ label: '结束时间',
+ prop: 'endTime',
colProps: {
- span: 8
+ span: 6
}
},
{
- label: '征集名称',
- prop: 'requirementName',
+ label: '项目类型',
+ prop: 'projectType',
colProps: {
- span: 8
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), baseFormData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), baseFormData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), baseFormData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), baseFormData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), baseFormData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), baseFormData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.economicEstimate ?
+ { toThousands(baseFormData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), baseFormData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), baseFormData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
+ colProps: {
+ span: 6
}
},
{
- label: '征集描述',
- prop: 'collectExplain',
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
colProps: {
- span: 24
+ span: 6
}
},
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
+ colProps: {
+ span: 6
+ }
+ }
]
})
+
const baseForm = ref()
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
+
const getBaseInfo = async () => {
try {
const {code, data} = await getBaseInfoApi(route.query.projectId)
baseForm.value.setValues(data)
+ baseFormData.value = data
} catch {
}
}
diff --git a/src/views/project-management/implementation/share.vue b/src/views/project-management/implementation/share.vue
index 37900ab..67f5cd6 100644
--- a/src/views/project-management/implementation/share.vue
+++ b/src/views/project-management/implementation/share.vue
@@ -1,6 +1,6 @@
-
- baseForm = e">
+
+ baseForm = e" label-position="left" label-width="left">
@@ -12,40 +12,210 @@
diff --git a/src/views/project-management/implementation/updateTable.vue b/src/views/project-management/implementation/updateTable.vue
index c52cd80..e0ca773 100644
--- a/src/views/project-management/implementation/updateTable.vue
+++ b/src/views/project-management/implementation/updateTable.vue
@@ -1,77 +1,79 @@
-
-
-
-
-
- {{ tableForm.projectName }}
-
-
-
-
-
-
-
- {{ tableForm.projectChargePersonName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
提交
-
返回
+
+
+
+
+
+
+ {{ tableForm.projectName }}
+
+
+
+
+
+
+
+ {{ tableForm.projectChargePersonName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+ 返回
+
diff --git a/src/views/project-management/implementation/upload.vue b/src/views/project-management/implementation/upload.vue
index 9dccdcc..52fa536 100644
--- a/src/views/project-management/implementation/upload.vue
+++ b/src/views/project-management/implementation/upload.vue
@@ -1,6 +1,6 @@
-
- baseForm = e">
+
+ baseForm = e" label-position="left" label-width="left">
@@ -40,41 +40,212 @@ import {computed, ref} from "vue";
import {getBaseInfoApi} from "@/components/steps/api";
import {downloadFile, deleteFile} from "@/api/project-demand";
+import {useCacheStore} from '@/stores/cache.js'
+
+import {toThousands} from '@/utils/changePrice.js'
+const cacheStore = useCacheStore()
const tagsViewStore = useTagsView()
const route = useRoute()
const router = useRouter()
const fileList = ref([])
const showInput = ref(false)
+const baseFormData = ref([])
const schema = computed(() => {
return [
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 6
+ }
+ },
{
label: '项目名称',
prop: 'projectName',
colProps: {
- span: 8
+ span: 6
+ }
+ },
+
+ {
+ label: '开始时间',
+ prop: 'startTime',
+ colProps: {
+ span: 6
}
},
{
- label: '征集公司',
- prop: 'affiliatedCompany',
+ label: '结束时间',
+ prop: 'endTime',
colProps: {
- span: 8
+ span: 6
}
},
{
- label: '征集名称',
- prop: 'requirementName',
+ label: '项目类型',
+ prop: 'projectType',
colProps: {
- span: 8
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), baseFormData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), baseFormData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), baseFormData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), baseFormData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), baseFormData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), baseFormData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.economicEstimate ?
+ { toThousands(baseFormData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), baseFormData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), baseFormData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
+ colProps: {
+ span: 6
}
},
{
- label: '征集描述',
- prop: 'collectExplain',
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
colProps: {
- span: 24
+ span: 6
}
},
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
+ colProps: {
+ span: 6
+ }
+ }
]
})
const baseForm = ref()
@@ -140,6 +311,31 @@ onActivated(() => {
})
fileList.value = []
})
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
const handleDelete = (row) => {
deleteFile(row.fileId).then(res => {
ElNotification({
@@ -166,6 +362,7 @@ const getBaseInfo = async () => {
try {
const {code, data} = await getBaseInfoApi(route.query.projectId)
baseForm.value.setValues(data)
+ baseFormData.value = data
} catch {
}
}
diff --git a/src/views/project-management/implementation/uploadFee.vue b/src/views/project-management/implementation/uploadFee.vue
index 006bfc0..bec292c 100644
--- a/src/views/project-management/implementation/uploadFee.vue
+++ b/src/views/project-management/implementation/uploadFee.vue
@@ -1,6 +1,6 @@
-
- baseForm = e">
+
+ baseForm = e" label-position="left" label-width="left">
@@ -83,9 +83,9 @@ import {addLedger} from "@/api/project-manage";
import {useTagsView} from '@/stores/tagsview.js'
import {useRoute} from "vue-router";
import {useCacheStore} from '@/stores/cache.js'
-import {computed, ref} from "vue";
-import {getBaseInfoApi} from "../../../components/steps/api";
-
+import {getBaseInfoApi} from "@/components/steps/api";
+import {toThousands} from '@/utils/changePrice.js'
+const baseFormData = ref([])
const cacheStore = useCacheStore()
const route = useRoute()
const router = useRouter()
@@ -95,36 +95,231 @@ const form = ref()
const projectName = ref()
const schema = computed(() => {
return [
+ // {
+ // label: '征集公司',
+ // prop: 'affiliatedCompany',
+ // colProps: {
+ // span: 6
+ // }
+ // },
+ // {
+ // label: '征集名称',
+ // prop: 'requirementName',
+ // colProps: {
+ // span: 6
+ // }
+ // },
+ // {
+ // label: '征集说明',
+ // prop: 'collectExplain',
+ // colProps: {
+ // span: 24
+ // }
+ // },
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 6
+ }
+ },
{
label: '项目名称',
prop: 'projectName',
colProps: {
- span: 8
+ span: 6
+ }
+ },
+
+ {
+ label: '开始时间',
+ prop: 'startTime',
+ colProps: {
+ span: 6
}
},
{
- label: '征集公司',
- prop: 'affiliatedCompany',
+ label: '结束时间',
+ prop: 'endTime',
colProps: {
- span: 8
+ span: 6
}
},
{
- label: '征集名称',
- prop: 'requirementName',
+ label: '项目类型',
+ prop: 'projectType',
colProps: {
- span: 8
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), baseFormData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), baseFormData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), baseFormData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), baseFormData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), baseFormData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), baseFormData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.economicEstimate ?
+ { toThousands(baseFormData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), baseFormData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 6
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), baseFormData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ // {
+ // label: '是否专项资金项目',
+ // prop: 'isSpecialFund',
+ // colProps: {
+ // span: 6
+ // }
+ // },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
+ colProps: {
+ span: 6
}
},
{
- label: '征集描述',
- prop: 'collectExplain',
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
colProps: {
- span: 24
+ span: 6
}
},
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
+ colProps: {
+ span: 6
+ }
+ }
]
})
+
const baseForm = ref()
const rules = reactive({
time: [{required: true, message: '请选择时间', trigger: 'blur'}],
@@ -145,10 +340,36 @@ const tableForm = ref({
}
]
})
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
const getBaseInfo = async () => {
try {
const {code, data} = await getBaseInfoApi(route.query.id)
baseForm.value.setValues(data)
+ baseFormData.value = data
} catch {
}
}
diff --git a/src/views/project-management/mobledetail/ApprovalDetailMoblie.vue b/src/views/project-management/mobledetail/ApprovalDetailMoblie.vue
index f3d6743..1b98d1d 100644
--- a/src/views/project-management/mobledetail/ApprovalDetailMoblie.vue
+++ b/src/views/project-management/mobledetail/ApprovalDetailMoblie.vue
@@ -28,7 +28,7 @@
- form = e">
+ form = e" >
{
colProps: {
span: 24
},
- labelWidth:'left',
+ labelWidth: 'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
- return
-
+ return props.formData.singleFile ?
+
+ : --
}
},
]
diff --git a/src/views/project-management/mobledetail/StepsMoblie.vue b/src/views/project-management/mobledetail/StepsMoblie.vue
index f8c46ae..e5b3ddf 100644
--- a/src/views/project-management/mobledetail/StepsMoblie.vue
+++ b/src/views/project-management/mobledetail/StepsMoblie.vue
@@ -1,6 +1,6 @@
-
- baseForm = e">
+
+ baseForm = e" label-position="left" label-width="left">
import {ElLoading, ElNotification} from 'element-plus';
-import {computed, reactive, ref, watchEffect} from 'vue';
-import {useRoute} from 'vue-router';
import {getBaseInfoApi} from './api';
+import {useCacheStore} from '@/stores/cache.js'
+import {toThousands} from '@/utils/changePrice.js'
+const cacheStore = useCacheStore()
const props = defineProps({
// 步骤对应内容list
stepList: {
@@ -93,9 +94,17 @@ const localSteps = ref([
])
const baseForm = ref()
+const baseFormData = ref([])
const schema = computed(() => {
return [
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 24
+ }
+ },
{
label: '项目名称',
prop: 'projectName',
@@ -103,23 +112,189 @@ const schema = computed(() => {
span: 24
}
},
+
{
- label: '征集公司',
- prop: 'affiliatedCompany',
+ label: '开始时间',
+ prop: 'startTime',
colProps: {
span: 24
}
},
{
- label: '征集名称',
- prop: 'requirementName',
+ label: '结束时间',
+ prop: 'endTime',
colProps: {
span: 24
}
},
{
- label: '征集描述',
- prop: 'collectExplain',
+ label: '项目类型',
+ prop: 'projectType',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), baseFormData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), baseFormData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), baseFormData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), baseFormData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), baseFormData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), baseFormData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.economicEstimate ?
+ { toThousands(baseFormData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), baseFormData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), baseFormData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ // {
+ // label: '是否专项资金项目',
+ // prop: 'isSpecialFund',
+ // colProps: {
+ // span: 24
+ // }
+ // },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
+ colProps: {
+ span: 24
+ }
+ },
+ {
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
+ colProps: {
+ span: 24
+ }
+ },
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
colProps: {
span: 24
}
@@ -273,7 +448,31 @@ const handleStep = (key, index) => {
type: 'warning'
})
}
-
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
const getBaseInfo = async () => {
const loading = ElLoading.service({fullscreen: true})
try {
@@ -290,6 +489,7 @@ const getBaseInfo = async () => {
}
localStepSuccess.value = formatProcedure(data.procedure)
baseForm.value.setValues(data)
+ baseFormData.value = data
emits('setDetail', formatActive(localActive.value))
loading.close()
} catch {
diff --git a/src/views/project-management/mobledetail/SummaryDetailMoblie.vue b/src/views/project-management/mobledetail/SummaryDetailMoblie.vue
index adc7502..4793e22 100644
--- a/src/views/project-management/mobledetail/SummaryDetailMoblie.vue
+++ b/src/views/project-management/mobledetail/SummaryDetailMoblie.vue
@@ -2,7 +2,7 @@
-
+
{{ localFormData.projectName }}
@@ -129,7 +129,7 @@
-
+
diff --git a/src/views/project-management/phaseDetailMoblie/index.vue b/src/views/project-management/phaseDetailMoblie/index.vue
index ea21606..99df969 100644
--- a/src/views/project-management/phaseDetailMoblie/index.vue
+++ b/src/views/project-management/phaseDetailMoblie/index.vue
@@ -1,7 +1,7 @@
-
-
baseForm = e">
+
+
baseForm = e" label-position="left" label-width="left">
抄送人{{copyName?copyName:'--'}}
{
return [
+ {
+ label: '承办单位',
+ prop: 'affiliatedCompany',
+ colProps: {
+ span: 24
+ }
+ },
{
label: '项目名称',
prop: 'projectName',
@@ -38,34 +49,221 @@ const schema = computed(() => {
span: 24
}
},
- {
- label: '征集公司',
- prop: 'affiliatedCompany',
+
+ {
+ label: '开始时间',
+ prop: 'startTime',
colProps: {
span: 24
}
},
{
- label: '征集名称',
- prop: 'requirementName',
+ label: '结束时间',
+ prop: 'endTime',
colProps: {
span: 24
}
},
{
- label: '征集描述',
- prop: 'collectExplain',
+ label: '项目类型',
+ prop: 'projectType',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectType ?
+ {filterDict(cacheStore.getDict('project_type'), baseFormData.value?.projectType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '研发主体',
+ prop: 'rdSubject',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.rdSubject ?
+ {filterDict(cacheStore.getDict('rd_subject'), baseFormData.value?.rdSubject)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '出资类型',
+ prop: 'investmentType',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.investmentType ?
+ {filterDict(cacheStore.getDict('invest_type'), baseFormData.value?.investmentType)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属业务板块',
+ prop: 'businessSegment',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.businessSegment ?
+ {filterDict(cacheStore.getDict('business_segment'), baseFormData.value?.businessSegment)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '标准制定',
+ prop: 'technicalStandard',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.technicalStandard ?
+ {filterDict(cacheStore.getDict('technical_standard'), baseFormData.value?.technicalStandard)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '项目影响',
+ prop: 'projectImpact',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.projectImpact ?
+ {filterDict(cacheStore.getDict('project_impact'), baseFormData.value?.projectImpact)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '经费预算(元)',
+ prop: 'economicEstimate',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.economicEstimate ?
+ { toThousands(baseFormData.value?.economicEstimate )}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '产学研联合',
+ prop: 'industryUniversityResearch',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.industryUniversityResearch ?
+ {filterDict(cacheStore.getDict('industry_university'), baseFormData.value?.industryUniversityResearch)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '开展政府申报',
+ prop: 'governmentDeclaration',
+ colProps: {
+ span: 24
+ },
+ component: () => (
+
+ {
+ baseFormData.value?.governmentDeclaration ?
+ {filterDict(cacheStore.getDict('government_declaration'), baseFormData.value?.governmentDeclaration)}
+ : {'--'}
+ }
+
+ )
+ },
+ {
+ label: '所属专项资金项目',
+ prop: 'specialFund',
colProps: {
span: 24
}
},
+ {
+ label: '申请总部专项资金(元)',
+ prop: 'specialFundAmount',
+ colProps: {
+ span: 24
+ }
+ },
+ {
+ label: '部门分管领导',
+ prop: 'optionalChargeLeadership',
+ colProps: {
+ span: 24
+ }
+ }
]
})
+
const baseForm = ref()
+//匹配字典值,返回对应值的字典标签
+const filterDict = (data, value) => {
+ if (data === undefined || value === undefined) return;
+ let label = ''
+ let result = []
+ if (value instanceof Array) {
+ value.forEach(item1 => {
+ data.find(item => {
+ if (item.value == item1) {
+ result.push(item.label)
+ }
+ })
+ })
+ label = result.map(item => item).join(',')
+ } else {
+ if (data instanceof Array) {
+ data.find(item => {
+ if (item.value == value) {
+ label = item.label
+ }
+ })
+ }
+ }
+ return label
+}
+
const getBaseInfo = async () => {
try {
const {code, data} = await getBaseInfoApi(route.query.projectId)
baseForm.value.setValues(data)
+ baseFormData.value = data
} catch {
}
}