Commit a74ef9da authored by 徐俊's avatar 徐俊

xujun

parent cf2694e8
<template>
<div class="layoutEmbedded">
<div class="app-content layoutEmbedded" style="height: 76vh;overflow: auto;">
<a-spin :spinning="loading" style="width: 100%;height: 100%;">
<div class="page-content">
<a-tabs type="card" hideAdd size="small" @change="callback">
<a-tab-pane :key="item.key" :tab="item.title" v-for="(item) in tabsData">
</a-tab-pane>
</a-tabs>
</div>
<div class="page-footer">
<!-- 申报项目详情 -->
<!-- <a-button type="primary">导出申请书</a-button> -->
<project-info v-model="projectInfo" v-if="projType"/>
<project-info-Key v-model="projectInfo" v-else/>
<!-- <a-button type="primary" @click="onExport">导出</a-button> -->
<project-info v-model="formData" :tabsData.sync="tabsData" v-if="projType=='1'" />
<project-info-Key v-model="formData" :tabsData.sync="tabsData" v-if="projType=='2'" />
</div>
</a-spin>
</div>
</template>
<script>
const projectKPI = {
reportYear: "",
projName: "",
appUnitName: "",
managerDept: "",
projAttribute: "",
projDeadline: "",
startDate: "",
endData: "",
yearTarget: "",
year1Goal: "",
year2Goal: "",
year3Goal: "",
totalBudget: 0.00,
applyFunds: 0.00,
selfFunds: 0.00,
yearTotal: 0.00,
yearApply: 0.00,
yearSelf: 0.00,
totalRowSpan: 0, //总合并行数
outTarget: 0, //一级指标(产出指标)
benefitTarget: 0, //一级指标(效益指标)
satisfactionDegree: 0, //一级指标(满意度指标)
quantityTarget: 0, //二级指标(数量指标)
qualityTarget: 0, //二级指标(质量指标)
validityTarget: 0, //二级指标(时效指标)
costTarget: 0, //二级指标(成本指标)
economicTarget: 0, //二级指标(经济效益指标)
socialTarget: 0, //二级指标(社会效益指标)
ecologicalTarget: 0, //二级指标(生态效益指标)
sustainableTarget: 0, //二级指标(可持续影响指标)
serviceTarget: 0, //二级指标(服务对象满意度指标)
threeLevel: [],
kpiList: [],
};
import { budgetList } from '@/views/report/project/config'
import { getType } from '@/views/utils/auth'
import projectInfo from '@/views/evaluation/components/projectInfo'
import projectInfoKey from '@/views/evaluation/components/keyProject/projectInfo'
import projectInfoKey from "@/views/report/project/components/keyProject/projectInfo"
export default {
name: "projectView",
components: {
......@@ -21,40 +65,60 @@ export default {
},
data () {
return {
projectInfo: {
projName: '',
startDate: '',
endDate: '',
applyMoney: '',
projClassName: '',
appPersonName: '',
sex: '',
titleName: '',
degreeName: '',
specName: '',
jobUnit: '',
mobile: '',
address: '',
appUnitName: '',
linkName: '',
linkEmail: '',
linkTel: '',
knowledgeName: '',
projContent: '',
projTarget: '',
projKeywords: '',
// 合作单位
together: [{ unitName: '', unitAddress: '', projectWork: '' }, { unitName: '', unitAddress: '', projectWork: '' }],
// 项目组成员
tabsData: [
{ title: '全部', key: '0', isShow: true },
{ title: '项目基本信息', key: '1', isShow: true },
//{ title: '项目组主要成员', key: '2', isShow: true },
{ title: '绩效目标表', key: '2', isShow: true },
{ title: '项目经费预算表', key: '3', isShow: true },
{ title: '申请书正文', key: '4', isShow: true },
{ title: '附件信息', key: '5', isShow: true },
{ title: '项目审核记录', key: '6', isShow: true },
],
formData: {
id: null,
appPersonName: null,
sex: null,
birthday: null,
nationName: null,
degreeName: null,
titleName: null,
mobile: null,
email: null,
jobTime: null,
address: null,
appUnitName: null,
mainResearchAreas: null,
unitLinkName: null,
unitLinkMobile: null,
unitLinkEmail: null,
unitLinkFax: null,
projName: null,
knowledgeId: null,
subjectScope: null,
projClass: null,
remark: null,
startDate: null,
endDate: null,
totalFunding: null,
govFunding: null,
projAbstract: null,
projKeywords: null,
yearTarget: null,
year1Goal: null,
year2Goal: null,
year3Goal: null,
projectKPI: projectKPI,
cooperativeUnits: [],
members: [],
// 经费
budget: budgetList(),
projDoc: null,
fileList: [{ fileName: '', url: '', remarks: '', id: '' }],
auditList: [{ result: '', unit: '', time: '' }],
budget: [],
fundPlan: [],
fileList: [],
auditList: [],
managerDept: "",
},
loading: false,
projType: getType() == "1"
projType: getType()
};
},
props: {
......@@ -63,33 +127,66 @@ export default {
default: () => {
return null
}
}
},
},
created () {
this.getProjectInfoById()
},
methods: {
getProjectInfoById () {
if (this.value != null) {
this.loading = true
let fileArr = []
this.$api.project.getProjectInfoById({ id: this.value }).then(({ data = {} }) => {
if (data) {
this.projectInfo = data
for (let i = 0; i < this.projectInfo.fileList.length; i++) {
if (this.projectInfo.fileList[i].fileExplain.indexOf("项目申报简要信息首页") == -1 && this.projectInfo.fileList[i].fileExplain.indexOf("项目组成员签字") == -1)
fileArr.push(this.projectInfo.fileList[i])
}
this.projectInfo.fileList = fileArr
this.formData = data
this.loading = false
} else
this.$emit('close', 'close')
}).catch(() => { this.$emit('close', 'close') })
}
this.$emit('close', 'error')
}).catch(() => { this.$emit('close', 'error') })
}
},
onExport () {
this.$api.project.export({ id: this.value }).then((res) => {
let blob = new Blob([res], {
type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8",
});
const fileName = this.formData.projName + '.doc';
let downloadElement = document.createElement('a')
let href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href;
downloadElement.download = fileName; //下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放blob
})
},
callback (key) {
var index = parseInt(key)
this.tabsData.forEach(e => {
if (key == '0')
e.isShow = true
else
e.isShow = false
})
this.tabsData[0].isShow = true;
this.tabsData[index].isShow = true;
},
},
}
</script>
<style scoped lang="less">
::v-deep .ant-spin-container {
width: 100%;
height: 100%;
}
.page-content {
width: 100%;
height: 50px;
}
.page-footer {
width: 100%;
height: calc(100% - 50px);
overflow: auto;
}
</style>
......@@ -36,7 +36,7 @@
<score-view v-model="id" @close="() => this.visibleEvaluationView = false" />
<!-- <assign-expert-view v-model="id" :hideDeleteBTN="false" @close="closeWindow"></assign-expert-view> -->
</a-modal>
<a-modal v-model="visibleEvaluation" title="评审专家须知" width="90%" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose>
<a-modal v-model="visibleEvaluation" title="专家评分" width="90%" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose>
<!-- <evaluation-edit v-model="id" @close="closeWindow"></evaluation-edit> -->
<score v-model="id" :exportTime="exportTime" :totalFunding="totalFunding" @close="closeWindow" ref="scoreEdit" />
</a-modal>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment