Merge pull request 'dj' (#956) from dj into master
Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/956
This commit is contained in:
@@ -9,6 +9,13 @@ export const addAllocation = (data) => {
|
|||||||
data
|
data
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
export const addShare = (data) => {
|
||||||
|
return request({
|
||||||
|
url:'/workflow/mosr/cost/share',
|
||||||
|
method: "post",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
export const getAllocationDetail = (allocationId) => {
|
export const getAllocationDetail = (allocationId) => {
|
||||||
return request({
|
return request({
|
||||||
url: `/workflow/mosr/cost/allocation/info/${allocationId}`,
|
url: `/workflow/mosr/cost/allocation/info/${allocationId}`,
|
||||||
|
|||||||
@@ -10,6 +10,13 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="6" v-if="title==='apply'">
|
||||||
|
<!-- label-width="106"-->
|
||||||
|
<el-form-item label="实际专项资金" prop="specialFundAmount" label-width="121" >
|
||||||
|
<el-input v-model="localFormData.specialFundAmount" placeholder="请输入实际专项资金">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<!-- <el-col :span="6" v-if="title==='apply'">-->
|
<!-- <el-col :span="6" v-if="title==='apply'">-->
|
||||||
<!-- <!– label-width="106"–>-->
|
<!-- <!– label-width="106"–>-->
|
||||||
<!-- <el-form-item label="实际专项资金" prop="budget" label-width="120">-->
|
<!-- <el-form-item label="实际专项资金" prop="budget" label-width="120">-->
|
||||||
@@ -230,7 +237,7 @@ const pageInfo = reactive({
|
|||||||
})
|
})
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
actualEconomicEstimate: [{required: true, message: '请输入实际经费预算', trigger: ['blur','change']}],
|
actualEconomicEstimate: [{required: true, message: '请输入实际经费预算', trigger: ['blur','change']}],
|
||||||
// projectChargePerson: [{required: true, message: '请选择项目负责人', trigger: 'blur'}],
|
specialFundAmount: [{required: true, message: '请输入实际专项资金', trigger: 'blur'}],
|
||||||
// projectPerson: [{required: true, message: '请选择项目成员', trigger: 'blur'}],
|
// projectPerson: [{required: true, message: '请选择项目成员', trigger: 'blur'}],
|
||||||
})
|
})
|
||||||
const tagsViewStore = useTagsView()
|
const tagsViewStore = useTagsView()
|
||||||
@@ -549,7 +556,8 @@ const handleSubmit = async (instance) => {
|
|||||||
fileList: files,
|
fileList: files,
|
||||||
// singleFile: attachment.value.singleFile,
|
// singleFile: attachment.value.singleFile,
|
||||||
projectId: projectId.value,
|
projectId: projectId.value,
|
||||||
actualEconomicEstimate: localFormData.value.actualEconomicEstimate,
|
actualEconomicEstimate: parseFloat(localFormData.value.actualEconomicEstimate),
|
||||||
|
specialFundAmount: parseFloat(localFormData.value.specialFundAmount),
|
||||||
preProcess: JSON.stringify(localFormData.value.preProcess)
|
preProcess: JSON.stringify(localFormData.value.preProcess)
|
||||||
}
|
}
|
||||||
if (sessionParams.value.preProcess && !localFormData.value.preProcess) {
|
if (sessionParams.value.preProcess && !localFormData.value.preProcess) {
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
<!-- <el-button color="#DED0B2" @click="handleUpload">上传附件</el-button>-->
|
<!-- <el-button color="#DED0B2" @click="handleUpload">上传附件</el-button>-->
|
||||||
<file-upload v-if="!isLineBtn&&uploadState" @getFile="getFile"/>
|
<file-upload v-if="!isLineBtn&&uploadState" @getFile="getFile"/>
|
||||||
|
|
||||||
<el-button color="#DED0B2" @click="handleEditTag" v-if="activeName!='all'" style="margin-left: 10px;">编辑
|
<el-button color="#DED0B2" @click="handleEditTag" v-if="activeName!='all'&&activeName!='plus'" style="margin-left: 10px;">编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
<fvTable style="width: 100%;min-height:311px;max-height: 311px" v-if="showAttachmentTable" height="311"
|
<fvTable style="width: 100%;min-height:311px;max-height: 311px" v-if="showAttachmentTable" height="311"
|
||||||
@@ -127,9 +127,9 @@ const executeTableConfig = reactive({
|
|||||||
<div>
|
<div>
|
||||||
<el-button type="primary" link onClick={() => handleDownload(row)}>下载</el-button>
|
<el-button type="primary" link onClick={() => handleDownload(row)}>下载</el-button>
|
||||||
{
|
{
|
||||||
row.newFile ?
|
uploadState.value ?
|
||||||
<popover-delete name={row.originalFileName} type={'文件'} btnType={'danger'}
|
<popover-delete name={row.originalFileName} type={'文件'} btnType={'danger'}
|
||||||
onDelete={() => deleteSingleFile(row)}/> : ''
|
onDelete={() => deleteSingleFile(row)}/>:''
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
@@ -137,6 +137,7 @@ const executeTableConfig = reactive({
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
// row.newFile ?: ''
|
||||||
const otherAttachmentList = ref([])
|
const otherAttachmentList = ref([])
|
||||||
|
|
||||||
const filePreviewParam = ref({
|
const filePreviewParam = ref({
|
||||||
@@ -159,6 +160,8 @@ const deleteSingleFile = (row) => {
|
|||||||
})
|
})
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
otherAttachmentList.value.splice(otherAttachmentList.value.findIndex((item) => item.fileId === row.fileId), 1);
|
otherAttachmentList.value.splice(otherAttachmentList.value.findIndex((item) => item.fileId === row.fileId), 1);
|
||||||
|
getAttachmentList()
|
||||||
|
activeName.value = 'all'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -176,6 +179,9 @@ const changeTag = async () => {
|
|||||||
projectId: route.query.projectId,
|
projectId: route.query.projectId,
|
||||||
fileTag: fileParam.value.tagName
|
fileTag: fileParam.value.tagName
|
||||||
})
|
})
|
||||||
|
getAttachmentList()
|
||||||
|
fileParam.value.tagName = ''
|
||||||
|
activeName.value = 'all'
|
||||||
}
|
}
|
||||||
ElNotification({
|
ElNotification({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
@@ -188,11 +194,9 @@ const changeTag = async () => {
|
|||||||
// label: fileParam.value.tagName
|
// label: fileParam.value.tagName
|
||||||
// })
|
// })
|
||||||
tagNameShow.value = false;
|
tagNameShow.value = false;
|
||||||
fileParam.value.tagName = ''
|
|
||||||
activeName.value = 'all'
|
|
||||||
}
|
}
|
||||||
const tabRemove = async (val) => {
|
const tabRemove = async (val) => {
|
||||||
ElMessageBox.confirm(`确认删除名称为${getFileName(val)}的标签吗?`, '系统提示', {
|
ElMessageBox.confirm(`确认删除名称为${getTagName(val)}的标签吗?`, '系统提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -205,15 +209,16 @@ const tabRemove = async (val) => {
|
|||||||
})
|
})
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
getTagsOption()
|
getTagsOption()
|
||||||
|
otherAttachmentList.value = allFiles.value
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const handleEditTag = () => {
|
const handleEditTag = () => {
|
||||||
tagNameShow.value = true
|
tagNameShow.value = true
|
||||||
fileParam.value.tagName = getFileName(activeName.value)
|
fileParam.value.tagName = getTagName(activeName.value)
|
||||||
isEdit.value = true
|
isEdit.value = true
|
||||||
}
|
}
|
||||||
const getFileName = (name) => {
|
const getTagName = (name) => {
|
||||||
const tagArray = tagsOption.value.filter((item1) => item1.tagId == name)
|
const tagArray = tagsOption.value.filter((item1) => item1.tagId == name)
|
||||||
let tagName = ''
|
let tagName = ''
|
||||||
if (tagArray && tagArray.length > 0) {
|
if (tagArray && tagArray.length > 0) {
|
||||||
@@ -227,16 +232,17 @@ const handleTabClick = (item) => {
|
|||||||
isEdit.value = false
|
isEdit.value = false
|
||||||
}
|
}
|
||||||
if (item.props.name != 'plus') {
|
if (item.props.name != 'plus') {
|
||||||
if (item.props.name == 'all') {
|
changeFileList(getTagName(item.props.name))
|
||||||
otherAttachmentList.value = allFiles.value
|
// if (item.props.name == 'all') {
|
||||||
} else {
|
// otherAttachmentList.value = allFiles.value
|
||||||
otherAttachmentList.value = allFiles.value.filter(item1 => item1.tag == getFileName(item.props.name))
|
// } else {
|
||||||
}
|
// otherAttachmentList.value = allFiles.value.filter(item1 => item1.tag == getTagName(item.props.name))
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
showAttachmentTable.value = false
|
// showAttachmentTable.value = false
|
||||||
nextTick(() => {
|
// nextTick(() => {
|
||||||
showAttachmentTable.value = true
|
// showAttachmentTable.value = true
|
||||||
})
|
// })
|
||||||
}
|
}
|
||||||
const compositeParam = (item) => {
|
const compositeParam = (item) => {
|
||||||
return {
|
return {
|
||||||
@@ -246,7 +252,7 @@ const compositeParam = (item) => {
|
|||||||
fileType: item.fileType,
|
fileType: item.fileType,
|
||||||
url: item.url,
|
url: item.url,
|
||||||
newFile: true,
|
newFile: true,
|
||||||
tag: activeName.value,
|
tag: getTagName(activeName.value),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const getFile = (val) => {
|
const getFile = (val) => {
|
||||||
@@ -264,11 +270,14 @@ const handleSubmit = async (list) => {
|
|||||||
targetState: "30"
|
targetState: "30"
|
||||||
}
|
}
|
||||||
let res = await uploadFileList(params)
|
let res = await uploadFileList(params)
|
||||||
// ElNotification({
|
if(res.code !== 1000){
|
||||||
// title: '提示',
|
ElNotification({
|
||||||
// message: res.msg,
|
title: '提示',
|
||||||
// type: res.code === 1000 ? 'success' : 'error'
|
message: res.msg,
|
||||||
// })
|
type: 'error'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
getTagsOption()
|
||||||
}
|
}
|
||||||
const clickToPreview = (row) => {
|
const clickToPreview = (row) => {
|
||||||
filePreviewShow.value = false
|
filePreviewShow.value = false
|
||||||
@@ -281,12 +290,29 @@ const clickToPreview = (row) => {
|
|||||||
filePreviewShow.value = true
|
filePreviewShow.value = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const handleSearch = () => {
|
const changeFileList=(tag)=>{
|
||||||
|
showAttachmentTable.value = false
|
||||||
|
let params = {
|
||||||
|
targetId: route.query.projectId,
|
||||||
|
targetState: "30",
|
||||||
|
tag:tag
|
||||||
|
}
|
||||||
|
searchImplementationFileList(params).then(res => {
|
||||||
|
if (res.code === 1000) {
|
||||||
|
otherAttachmentList.value = res.data.fileList
|
||||||
|
nextTick(() => {
|
||||||
|
showAttachmentTable.value = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const getAttachmentList = () => {
|
||||||
const loading = ElLoading.service({fullscreen: true})
|
const loading = ElLoading.service({fullscreen: true})
|
||||||
let params = {
|
let params = {
|
||||||
targetId: route.query.projectId,
|
targetId: route.query.projectId,
|
||||||
targetState: "30"
|
targetState: "30"
|
||||||
}
|
}
|
||||||
|
showAttachmentTable.value = false
|
||||||
if (attachmentParam.tag) {
|
if (attachmentParam.tag) {
|
||||||
tagsOption.value.forEach(item => {
|
tagsOption.value.forEach(item => {
|
||||||
if (item.value === attachmentParam.tag) {
|
if (item.value === attachmentParam.tag) {
|
||||||
@@ -296,7 +322,6 @@ const handleSearch = () => {
|
|||||||
params.tag = attachmentParam.tag
|
params.tag = attachmentParam.tag
|
||||||
}
|
}
|
||||||
searchImplementationFileList(params).then(res => {
|
searchImplementationFileList(params).then(res => {
|
||||||
showAttachmentTable.value = false
|
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
// otherAttachmentList.value = res.data.fileList
|
// otherAttachmentList.value = res.data.fileList
|
||||||
otherAttachmentList.value = res.data.fileList
|
otherAttachmentList.value = res.data.fileList
|
||||||
@@ -322,19 +347,12 @@ const getTagsOption = () => {
|
|||||||
if (!route.query.projectId) return
|
if (!route.query.projectId) return
|
||||||
getTagList(route.query.projectId).then(res => {
|
getTagList(route.query.projectId).then(res => {
|
||||||
if (res.code === 1000) {
|
if (res.code === 1000) {
|
||||||
res.data.rows[0].isClose = 1
|
|
||||||
tagsOption.value = res.data.rows
|
tagsOption.value = res.data.rows
|
||||||
otherAttachmentList.value.forEach(item => {
|
tagsOption.value.forEach((tag, index) => {
|
||||||
tagsOption.value.forEach(tag => {
|
const filterArray = otherAttachmentList.value.filter(item => tag.fileTag == item.tag)
|
||||||
// console.log(tag.fileTag,item.tag)
|
tagsOption.value[index].isClose = filterArray.length > 0 ? 0 : 1
|
||||||
if (tag.fileTag == item.tag) {
|
|
||||||
tag.isClose = 0
|
|
||||||
} else {
|
|
||||||
tag.isClose = 1
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
if (!res.data.rows || res.data.rows.length == 0) return;
|
// if (!res.data.rows || res.data.rows.length == 0) return;
|
||||||
// activeName.value=res.data.rows[0].tagId
|
// activeName.value=res.data.rows[0].tagId
|
||||||
} else {
|
} else {
|
||||||
ElNotification({
|
ElNotification({
|
||||||
@@ -356,9 +374,9 @@ const handleUpload = () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
handleSearch()
|
getAttachmentList()
|
||||||
onActivated(() => {
|
onActivated(() => {
|
||||||
handleSearch()
|
getAttachmentList()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|||||||
@@ -294,6 +294,22 @@ const schema = computed(() => {
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '实际经费预算',
|
||||||
|
prop: 'actualEconomicEstimate',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.actualEconomicEstimate ?
|
||||||
|
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '产学研联合',
|
label: '产学研联合',
|
||||||
prop: 'industryUniversityResearch',
|
prop: 'industryUniversityResearch',
|
||||||
@@ -335,6 +351,22 @@ const schema = computed(() => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预估专项资金(元)',
|
label: '预估专项资金(元)',
|
||||||
|
prop: 'forecastSpecialFundAmount',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.forecastSpecialFundAmount ?
|
||||||
|
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '实际专项资金(元)',
|
||||||
prop: 'specialFundAmount',
|
prop: 'specialFundAmount',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<fvSearchForm :searchConfig="searchConfig" @search="search" style="margin-left: 16px"></fvSearchForm>
|
<!-- <fvSearchForm :searchConfig="searchConfig" @search="search" style="margin-left: 16px"></fvSearchForm>-->
|
||||||
<fvTable ref="tableIns" :tableConfig="tableConfig">
|
<fvTable ref="tableIns" :tableConfig="tableConfig" style="margin-top: 15px">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<el-empty description="暂无数据"/>
|
<el-empty description="暂无数据"/>
|
||||||
</template>
|
</template>
|
||||||
@@ -115,118 +115,100 @@ const tableConfig = reactive({
|
|||||||
// }
|
// }
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
prop: 'affiliatedCompany',
|
prop: 'paymentYear',
|
||||||
label: '支出年份',
|
label: '支出年份',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'projectName',
|
prop: 'paymentMonth',
|
||||||
label: '月份',
|
label: '月份',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
prop: 'projectCost',
|
prop: 'masterProjectName',
|
||||||
label: '主项目',
|
label: '主项目',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 120,
|
width: 120,
|
||||||
showOverflowTooltip: false,
|
|
||||||
currentRender: ({row, index}) => {
|
|
||||||
if (row.projectCost !== null&&row.projectCost !== null&&row.projectCost!==undefined) {
|
|
||||||
return (<Tag dictType={'project_cost'} value={row.projectCost}/>)
|
|
||||||
} else {
|
|
||||||
return '--'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
prop: 'time',
|
prop: 'subProjectName',
|
||||||
label: '子项目',
|
label: '子项目',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 120,
|
width: 120,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'researchStage',
|
prop: 'projectType',
|
||||||
label: '项目类型',
|
label: '项目类型',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 120,
|
width: 120,
|
||||||
showOverflowTooltip: false,
|
showOverflowTooltip: false,
|
||||||
currentRender: ({row, index}) => {
|
currentRender: ({row, index}) => {
|
||||||
if (row.researchStage&&row.researchStage !== null&&row.researchStage!==undefined) {
|
if (row.projectType&&row.projectType !== null&&row.projectType!==undefined) {
|
||||||
return (<Tag dictType={'research_stage'} value={row.researchStage}/>)
|
return (<Tag dictType={'project_type'} value={row.projectType}/>)
|
||||||
} else {
|
} else {
|
||||||
return '--'
|
return '--'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'rdType',
|
||||||
label: 'RAD统计类型',
|
label: 'RAD统计类型',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'paymentProcessType',
|
||||||
label: '付款流程类型',
|
label: '付款流程类型',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
currentRender:({row})=>{
|
|
||||||
return <span>{toThousands(row.afterTax)}</span>
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'processState',
|
||||||
label: '流程状态',
|
label: '流程状态',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
showOverflowTooltip: false,
|
|
||||||
currentRender: ({row, index}) => {
|
|
||||||
if (row.source&&row.source !== null&&row.source!==undefined) {
|
|
||||||
return (<Tag dictType={'ledger_source'} value={row.source}/>)
|
|
||||||
} else {
|
|
||||||
return '--'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'filingTime',
|
||||||
label: '归档时间',
|
label: '归档时间',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'paymentProcessNum',
|
||||||
label: '付款流程编号',
|
label: '付款流程编号',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: '付款/请款事由',
|
prop: 'paymentAmount',
|
||||||
label: '来源',
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'digest',
|
|
||||||
label: '付款金额',
|
label: '付款金额',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'paymentSubject',
|
||||||
|
label: '付款/请款事由',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
prop: 'contractNum',
|
||||||
label: '合同编号',
|
label: '合同编号',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'contractName',
|
||||||
label: '合同名称',
|
label: '合同名称',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'digest',
|
prop: 'contractSumAmount',
|
||||||
label: '合同金额(元)',
|
label: '合同金额(元)',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
api: '',
|
api: '/workflow/mosr/payment/list',
|
||||||
params: {},
|
params: {},
|
||||||
export:{
|
export:{
|
||||||
open :true,
|
open :true,
|
||||||
fileName:`科技创新费用支出明细.xlsx`
|
fileName:`科研项日现金支出明细表`
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
const search = (val) => {
|
const search = (val) => {
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ import {
|
|||||||
getResearchUser,
|
getResearchUser,
|
||||||
getProjectOption,
|
getProjectOption,
|
||||||
editAllocation,
|
editAllocation,
|
||||||
getAllocationDetailList
|
getAllocationDetailList, addShare
|
||||||
} from "@/api/expense-manage";
|
} from "@/api/expense-manage";
|
||||||
import {useProcessStore} from '@/stores/processStore.js';
|
import {useProcessStore} from '@/stores/processStore.js';
|
||||||
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue';
|
import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.vue';
|
||||||
@@ -107,16 +107,16 @@ localStorage.removeItem('originallySelectedList')
|
|||||||
const userList = ref([])
|
const userList = ref([])
|
||||||
const changeDiagram = ref(false)
|
const changeDiagram = ref(false)
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
shareName: [{required: true, message: '请输入分摊名称', trigger: ['blur', 'change']}],
|
// shareName: [{required: true, message: '请输入分摊名称', trigger: ['blur', 'change']}],
|
||||||
apportionmentMonth: [{required: true, message: '请选择月份', trigger: ['blur', 'change']}],
|
apportionmentMonth: [{required: true, message: '请选择月份', trigger: ['blur', 'change']}],
|
||||||
projectId: [{required: true, message: '请选择项目名称', trigger: ['blur', 'change']}],
|
projectId: [{required: true, message: '请选择项目名称', trigger: ['blur', 'change']}],
|
||||||
// researchPersonnelId: [{required: true, message: '请选择研发人员', trigger: ['blur', 'change']}],
|
// researchPersonnelId: [{required: true, message: '请选择研发人员', trigger: ['blur', 'change']}],
|
||||||
wagesPayable: [{required: true, message: '请输入应发工资', trigger: ['blur', 'change']}],
|
// wagesPayable: [{required: true, message: '请输入应发工资', trigger: ['blur', 'change']}],
|
||||||
performance: [{required: true, message: '请输入绩效', trigger: ['blur', 'change']}],
|
// performance: [{required: true, message: '请输入绩效', trigger: ['blur', 'change']}],
|
||||||
reserveFund: [{required: true, message: '请输入公积金', trigger: ['blur', 'change']}],
|
// reserveFund: [{required: true, message: '请输入公积金', trigger: ['blur', 'change']}],
|
||||||
socialSecurity: [{required: true, message: '请输入社保', trigger: ['blur', 'change']}],
|
// socialSecurity: [{required: true, message: '请输入社保', trigger: ['blur', 'change']}],
|
||||||
annuity: [{required: true, message: '请输入年金', trigger: ['blur', 'change']}],
|
// annuity: [{required: true, message: '请输入年金', trigger: ['blur', 'change']}],
|
||||||
workday: [{required: true, message: '请输入工作日', trigger: ['blur', 'change']}],
|
// workday: [{required: true, message: '请输入工作日', trigger: ['blur', 'change']}],
|
||||||
researchDuration: [{required: true, message: '请输入研发时长', trigger: ['blur', 'change']}],
|
researchDuration: [{required: true, message: '请输入研发时长', trigger: ['blur', 'change']}],
|
||||||
})
|
})
|
||||||
const processStore = useProcessStore()
|
const processStore = useProcessStore()
|
||||||
@@ -135,12 +135,12 @@ const formData = ref({
|
|||||||
{
|
{
|
||||||
projectId: '',
|
projectId: '',
|
||||||
projectName: '',
|
projectName: '',
|
||||||
researchPersonnelId: '',
|
// researchPersonnelId: '',
|
||||||
wagesPayable: null,
|
// wagesPayable: null,
|
||||||
performance: null,
|
// performance: null,
|
||||||
reserveFund: null,
|
// reserveFund: null,
|
||||||
socialSecurity: null,
|
// socialSecurity: null,
|
||||||
annuity: null,
|
// annuity: null,
|
||||||
workday: '21.75',
|
workday: '21.75',
|
||||||
researchDuration: null,
|
researchDuration: null,
|
||||||
}
|
}
|
||||||
@@ -383,13 +383,11 @@ const handleSubmit = (instance) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let params = {
|
let params = {
|
||||||
shareName: formData.value.shareName,
|
|
||||||
apportionmentMonth: formData.value.apportionmentMonth,
|
apportionmentMonth: formData.value.apportionmentMonth,
|
||||||
usrAllocations: formData.value.tableData,
|
usrAllocations: formData.value.tableData,
|
||||||
deploymentId: processInstanceData.value.deploymentId,
|
|
||||||
}
|
}
|
||||||
console.log('params', params, formData.value.tableData)
|
console.log('params', params, formData.value.tableData)
|
||||||
const {code, msg} = await addAllocation(params)
|
const {code, msg} = await addShare(params)
|
||||||
ElNotification({
|
ElNotification({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
message: msg,
|
message: msg,
|
||||||
|
|||||||
@@ -46,6 +46,11 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'processNumber',
|
||||||
|
label: '编号',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'requirementName',
|
prop: 'requirementName',
|
||||||
label: '征集名称',
|
label: '征集名称',
|
||||||
|
|||||||
@@ -183,15 +183,15 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" v-if="formData.isSpecialFund">
|
<el-col :span="6" v-if="formData.isSpecialFund">
|
||||||
<el-form-item label="预估专项资金(元)" prop="specialFundAmount">
|
<el-form-item label="预估专项资金(元)" prop="forecastSpecialFundAmount">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.specialFundAmount"
|
v-model="formData.forecastSpecialFundAmount"
|
||||||
placeholder="请输入预估专项资金"
|
placeholder="请输入预估专项资金"
|
||||||
clearable
|
clearable
|
||||||
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
:formatter="(value) => value.replace(/\B(?=(\d{3})+(?!\d))/g, ',')"
|
||||||
:parser="(value) => value.replace(/\$\s?|(,*)+[^0-9.]/g, '')" @change="changeCollectData"
|
:parser="(value) => value.replace(/\$\s?|(,*)+[^0-9.]/g, '')" @change="changeCollectData"
|
||||||
/>
|
/>
|
||||||
<!-- <el-input-number v-model="formData.specialFundAmount" placeholder="请输入预估专项资金" :controls="false"/>-->
|
<!-- <el-input-number v-model="formData.forecastSpecialFundAmount" placeholder="请输入预估专项资金" :controls="false"/>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':'-40px'}">
|
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?'0':'-40px'}">
|
||||||
@@ -232,7 +232,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?route.query.id?'-10px':'0':'0'}">
|
<el-col :span="6" :style="{marginLeft:!formData.isSpecialFund?route.query.id?'-10px':'0':'0'}">
|
||||||
<el-form-item label="需求征集" prop="requirementId" required>
|
<el-form-item label="需求征集" prop="" required>
|
||||||
<template v-if="formData.requirementDefaultName">{{ formData.requirementDefaultName }}</template>
|
<template v-if="formData.requirementDefaultName">{{ formData.requirementDefaultName }}</template>
|
||||||
<el-select v-else v-model="formData.requirementId" clearable placeholder="请选择需求征集"
|
<el-select v-else v-model="formData.requirementId" clearable placeholder="请选择需求征集"
|
||||||
@change="changeCollectData">
|
@change="changeCollectData">
|
||||||
@@ -447,7 +447,7 @@ const rules = reactive({
|
|||||||
economicEstimate: [{required: true, message: '请输入预估经费预算', trigger: ['blur', 'change']}],
|
economicEstimate: [{required: true, message: '请输入预估经费预算', trigger: ['blur', 'change']}],
|
||||||
isSpecialFund: [{required: true, message: '请选择是否为专项资金', trigger: ['blur', 'change']}],
|
isSpecialFund: [{required: true, message: '请选择是否为专项资金', trigger: ['blur', 'change']}],
|
||||||
isWithinBudget: [{required: true, message: '请选择是否在预算内', trigger: ['blur', 'change']}],
|
isWithinBudget: [{required: true, message: '请选择是否在预算内', trigger: ['blur', 'change']}],
|
||||||
specialFundAmount: [{required: true, message: '请输入专项资金', trigger: ['blur', 'change']}],
|
forecastSpecialFundAmount: [{required: true, message: '请输入专项资金', trigger: ['blur', 'change']}],
|
||||||
serviceDescription: [{required: true, message: '请输入现有业务描述', trigger: ['blur', 'change']}],
|
serviceDescription: [{required: true, message: '请输入现有业务描述', trigger: ['blur', 'change']}],
|
||||||
contentDescription: [{required: true, message: '请输入研发项目关键内容描述', trigger: ['blur', 'change']}]
|
contentDescription: [{required: true, message: '请输入研发项目关键内容描述', trigger: ['blur', 'change']}]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ const searchConfig = ref([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '承办单位',
|
label: '承办单位',
|
||||||
prop: 'undertaker',
|
prop: 'affiliatedCompanyId',
|
||||||
component: 'el-tree-select',
|
component: 'el-tree-select',
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入承办单位查询',
|
placeholder: '请输入承办单位查询',
|
||||||
@@ -218,6 +218,11 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'processNumber',
|
||||||
|
label: '编号',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'requirementName',
|
prop: 'requirementName',
|
||||||
label: '征集名称',
|
label: '征集名称',
|
||||||
@@ -441,7 +446,7 @@ const handleDetail = (row) => {
|
|||||||
}
|
}
|
||||||
const init = async () => {
|
const init = async () => {
|
||||||
const res = await getSubCompOpt()
|
const res = await getSubCompOpt()
|
||||||
searchConfig.value.find(item=>item.prop == 'undertaker').props.data = res.data
|
searchConfig.value.find(item=>item.prop == 'affiliatedCompanyId').props.data = res.data
|
||||||
}
|
}
|
||||||
|
|
||||||
init()
|
init()
|
||||||
|
|||||||
@@ -171,6 +171,21 @@ const schema = computed(() => {
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
}, {
|
||||||
|
label: '实际经费预算',
|
||||||
|
prop: 'actualEconomicEstimate',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.actualEconomicEstimate ?
|
||||||
|
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '产学研联合',
|
label: '产学研联合',
|
||||||
@@ -210,9 +225,24 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
label: '预估专项资金(元)',
|
||||||
|
prop: 'forecastSpecialFundAmount',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.forecastSpecialFundAmount ?
|
||||||
|
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预估专项资金(元)',
|
label: '实际专项资金(元)',
|
||||||
prop: 'specialFundAmount',
|
prop: 'specialFundAmount',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
@@ -249,6 +279,13 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主项目',
|
||||||
|
prop: 'masterProjectName',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -216,6 +216,12 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
prop: 'processNumber',
|
||||||
|
label: '编号',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'requirementName',
|
prop: 'requirementName',
|
||||||
label: '征集名称',
|
label: '征集名称',
|
||||||
|
|||||||
@@ -178,6 +178,22 @@ const schema = computed(() => {
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '实际经费预算',
|
||||||
|
prop: 'actualEconomicEstimate',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
basicData.value?.actualEconomicEstimate ?
|
||||||
|
<span>{toThousands(basicData.value?.actualEconomicEstimate)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '产学研联合',
|
label: '产学研联合',
|
||||||
prop: 'industryUniversityResearch',
|
prop: 'industryUniversityResearch',
|
||||||
@@ -219,6 +235,22 @@ const schema = computed(() => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预估专项资金(元)',
|
label: '预估专项资金(元)',
|
||||||
|
prop: 'forecastSpecialFundAmount',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
basicData.value?.forecastSpecialFundAmount ?
|
||||||
|
<span>{toThousands(basicData.value?.forecastSpecialFundAmount)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '实际专项资金(元)',
|
||||||
prop: 'specialFundAmount',
|
prop: 'specialFundAmount',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
@@ -255,6 +287,13 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主项目',
|
||||||
|
prop: 'masterProjectName',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -219,6 +219,12 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
prop: 'processNumber',
|
||||||
|
label: '编号',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'requirementName',
|
prop: 'requirementName',
|
||||||
label: '征集名称',
|
label: '征集名称',
|
||||||
|
|||||||
@@ -244,6 +244,21 @@ const schema = computed(() => {
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
}, {
|
||||||
|
label: '实际经费预算',
|
||||||
|
prop: 'actualEconomicEstimate',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.actualEconomicEstimate ?
|
||||||
|
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '产学研联合',
|
label: '产学研联合',
|
||||||
@@ -283,9 +298,24 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
label: '预估专项资金(元)',
|
||||||
|
prop: 'forecastSpecialFundAmount',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.forecastSpecialFundAmount ?
|
||||||
|
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预估专项资金(元)',
|
label: '实际专项资金(元)',
|
||||||
prop: 'specialFundAmount',
|
prop: 'specialFundAmount',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
@@ -322,6 +352,13 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主项目',
|
||||||
|
prop: 'masterProjectName',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -184,6 +184,21 @@ const schema = computed(() => {
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
},{
|
||||||
|
label: '实际经费预算',
|
||||||
|
prop: 'actualEconomicEstimate',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.actualEconomicEstimate ?
|
||||||
|
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '产学研联合',
|
label: '产学研联合',
|
||||||
@@ -223,9 +238,24 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
label: '预估专项资金(元)',
|
||||||
|
prop: 'forecastSpecialFundAmount',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.forecastSpecialFundAmount ?
|
||||||
|
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预估专项资金(元)',
|
label: '实际专项资金(元)',
|
||||||
prop: 'specialFundAmount',
|
prop: 'specialFundAmount',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
@@ -262,6 +292,13 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主项目',
|
||||||
|
prop: 'masterProjectName',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -159,6 +159,21 @@ const schema = computed(() => {
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
}, {
|
||||||
|
label: '实际经费预算',
|
||||||
|
prop: 'actualEconomicEstimate',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.actualEconomicEstimate ?
|
||||||
|
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '产学研联合',
|
label: '产学研联合',
|
||||||
@@ -201,6 +216,22 @@ const schema = computed(() => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预估专项资金(元)',
|
label: '预估专项资金(元)',
|
||||||
|
prop: 'forecastSpecialFundAmount',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.forecastSpecialFundAmount ?
|
||||||
|
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '实际专项资金(元)',
|
||||||
prop: 'specialFundAmount',
|
prop: 'specialFundAmount',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
@@ -237,6 +268,13 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主项目',
|
||||||
|
prop: 'masterProjectName',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -268,6 +268,22 @@ const schema = computed(() => {
|
|||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '实际经费预算',
|
||||||
|
prop: 'actualEconomicEstimate',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.actualEconomicEstimate ?
|
||||||
|
<span>{toThousands(baseFormData.value?.actualEconomicEstimate)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '产学研联合',
|
label: '产学研联合',
|
||||||
prop: 'industryUniversityResearch',
|
prop: 'industryUniversityResearch',
|
||||||
@@ -316,6 +332,22 @@ const schema = computed(() => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '预估专项资金(元)',
|
label: '预估专项资金(元)',
|
||||||
|
prop: 'forecastSpecialFundAmount',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
},
|
||||||
|
component: () => (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
baseFormData.value?.forecastSpecialFundAmount ?
|
||||||
|
<span>{toThousands(baseFormData.value?.forecastSpecialFundAmount)}</span>
|
||||||
|
: <span>{'--'}</span>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '实际专项资金(元)',
|
||||||
prop: 'specialFundAmount',
|
prop: 'specialFundAmount',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
@@ -352,6 +384,13 @@ const schema = computed(() => {
|
|||||||
colProps: {
|
colProps: {
|
||||||
span: 6
|
span: 6
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '主项目',
|
||||||
|
prop: 'masterProjectName',
|
||||||
|
colProps: {
|
||||||
|
span: 6
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -214,6 +214,11 @@ const tableConfig = reactive({
|
|||||||
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
return (tableIns.value.getQuery().pageNum - 1) * tableIns.value.getQuery().pageSize + index + 1
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'processNumber',
|
||||||
|
label: '编号',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'requirementName',
|
prop: 'requirementName',
|
||||||
label: '征集名称',
|
label: '征集名称',
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ export default defineConfig({
|
|||||||
open: true,
|
open: true,
|
||||||
proxy: {
|
proxy: {
|
||||||
// '/api/workflow': {
|
// '/api/workflow': {
|
||||||
// // target: 'http://frp.feashow.cn:31800/',
|
// target: 'http://frp.feashow.cn:31800/',
|
||||||
// target: 'http://clay.frp.feashow.cn/',
|
// // target: 'http://clay.frp.feashow.cn/',
|
||||||
// // target: 'http://192.168.31.175:8000',
|
// // target: 'http://192.168.31.175:8000',
|
||||||
// changeOrigin: true,
|
// changeOrigin: true,
|
||||||
// rewrite: (path) => path.replace(/^\/api/, '')
|
// rewrite: (path) => path.replace(/^\/api/, '')
|
||||||
|
|||||||
Reference in New Issue
Block a user