Commit 0670b538 authored by wangxl's avatar wangxl

4444

parent adc2ae3c
......@@ -243,9 +243,6 @@ export default {
watch: {
value: {
handler (value) {
if (!!!value)
this.selected = ''
else
this.selected = value + ''
this.$emit("input", this.selected)
},
......
......@@ -2,8 +2,14 @@
<template>
<div class="app-content" style="height: 76vh;overflow: auto;">
<a-spin :spinning="loading" style="width: 100%;height: 100%;">
<div class="page-card">
<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-content">
<task-edit v-model="value" @close="closeWindow" @load="onLoad" ref="taskCreate" />
<task-edit v-model="value" @close="closeWindow" @load="onLoad" ref="taskCreate" :tabsData.sync="tabsData" />
</div>
<div class="page-footer">
<a-button type="primary" @click="save">保 存</a-button>
......@@ -23,6 +29,17 @@ export default {
data () {
return {
loading: false,
tabsData: [
{ title: '填报信息', key: '0', isShow: true },
{ title: '项目组主要成员及单位', key: '1', 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 },
{ title: '绩效目标表', key: '7', isShow: true },
{ title: '附件信息', key: '8', isShow: true },
],
}
},
props: {
......@@ -48,6 +65,13 @@ export default {
onLoad (value) {
this.loading = value
},
callback (key) {
var index = parseInt(key)
this.tabsData.forEach(e => {
e.isShow = false
})
this.tabsData[index].isShow = true;
},
},
}
</script>
......@@ -60,9 +84,14 @@ export default {
width: 8px;
height: 6px;
}
.page-card {
width: 100%;
height: 50px;
overflow: auto;
}
.page-content {
width: 100%;
height: calc(100% - 40px);
height: calc(100% - 90px);
overflow: auto;
}
.page-footer {
......
<template>
<div>
<a-form-model ref="form" :model="formData" :rules="rules" style="border-top: 0px" class="from-table font-line-space">
<div class="from-table font-line-space">
<div v-if="tabsData[0].isShow">
<a-form-model ref="form" :model="formData" :rules="rules" style="border-top: 0px">
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
......@@ -612,7 +613,7 @@
<div class="special-middle">
<div>
<a-form-model-item prop="isTechnologyReport">
<base-select v-model="formData.isTechnologyReport" :type="12" :isAll="true" :width="80" />
<base-select v-model="formData.isTechnologyReport" :type="12" :isAll="true" :width="120" />
</a-form-model-item>
</div>
</div>
......@@ -636,6 +637,438 @@
</a-col>
</a-row>
</a-form-model>
<!-- 项目主要参与单位及分工 -->
<participate-units-info :dataList.sync="value.participateUnits" />
</div>
<div v-if="tabsData[1].isShow">
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="main-title">
<span>项目人员情况</span>
</div>
</a-col>
</a-row>
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
<span>项目负责人</span>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>姓名</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.appPersonName }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>性别</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.sex }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>出生日期</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ moment(value.birthday).format('YYYY-MM-DD') }}
</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>证件类型</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
身份证
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>证件号码</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.certId }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>民族</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.nationName }}
</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>职称</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.titleName }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>从事专业</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.specName }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>学位</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.degreeName }}
</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>职务</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.dutyName }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>电话</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.mobile }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>电子邮箱</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.email }}
</div>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>个人通讯地址</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.address }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>工作单位</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.appUnitName }}
</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>每年工作时间(月)</div>
</div>
</a-col>
<a-col :span="5">
<div class="special-middle">
<div>
{{ value.jobTime }}
</div>
</div>
</a-col>
</a-row>
<!-- 项目组成员 -->
<project-member-info :dataList.sync="value.members" />
<a-row type="flex">
<a-col :span="24" style="text-align: center;">
<div class="special-middle">
&nbsp;
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>总人数</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>高级</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>中级</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>初级</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>博士后</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>博士生</div>
</div>
</a-col>
<a-col :span="3" class="bg-gray">
<div class="special-middle">
<div>硕士生</div>
</div>
</a-col>
</a-row>
<a-row type="flex" class="row_center">
<a-col :span="4">
<div class="special-middle">
<div>
{{ value.memCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memHighCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memMiddleCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memLowCount }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ value.memBshCount }}
</div>
</div>
</a-col>
<a-col :span="4">
<div class="special-middle">
<div>
{{ value.memBsCount }}
</div>
</div>
</a-col>
<a-col :span="3">
<div class="special-middle">
<div>
{{ value.memSsCount }}
</div>
</div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[2].isShow">
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="main-title">
<span>项目主要实施内容和目标</span>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目实施目标</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.researchContent)"></div>
</a-col>
</a-row>
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="tb-title">
<span>项目考核指标</span>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>主要技术指标</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.technologyTarget)"></div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>主要经济指标</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.economyTarget)"></div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目实施中形成的示范基地、中试线、生产线及其规模等</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.achievementTarget)"></div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>科技报告考核指标</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.technologyReportsTarget)"></div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>其他应考核的指标</div>
</div>
</a-col>
<a-col :span="20">
<div v-html="toTextarea(value.otherTarget)"></div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[3].isShow">
<a-row>
<a-col :span="24" style="border-top: 0px">
<div class="main-title">
<span>申请书正文</span>
</div>
</a-col>
</a-row>
<a-row type="flex">
<a-col :span="24" class="bg-gray">
<div class="special-middle" style="font-weight: bold;text-align: center;">
<document-view :fileUrl="value.downloadUrl" :fileName="value.fileName" :imageArray="[value.downloadUrl]" v-if="!!value.downloadUrl"></document-view>
</div>
</a-col>
</a-row>
</div>
<div v-if="tabsData[4].isShow">
<!-- 经费预算 -->
<budget-info :budget.sync="value.budget" />
<a-row type="flex">
<a-col :span="24" style="text-align: center;">
<div class="special-middle">
&nbsp;
</div>
</a-col>
</a-row>
<!-- 分年度用款计划 -->
<fund-plan-info :fundPlan.sync="value.fundPlan" />
<!-- 设备费-购置设备预算明细表 -->
<device-info :deviceList.sync="value.deviceList" />
<!-- 设备费-试制设备预算明细表 -->
<manufacture-info :manufactureList.sync:="value.manufactureList" />
<!-- 项目承担单位研究资金支出预算明细表 -->
<unit-payment-info :unitPayment.sync="value.unitPayment" />
</div>
<div v-if="tabsData[5].isShow">
<!-- 项目安排及阶段目标 -->
<proj-stage-goals-info :stageGoals.sync="value.stageGoals" />
</div>
<div v-if="tabsData[6].isShow">
<!-- 项目课题设置 -->
<project-sub-info :dataList.sync="value.projectSubList" />
</div>
<div v-if="tabsData[7].isShow">
<project-kpi-info v-if="value.projectKPI" :projectKPI.sync="value.projectKPI" />
</div>
<div v-if="tabsData[8].isShow">
<!-- 附件 -->
<file-info :fileList.sync="value.fileList" />
</div>
</div>
</template>
......@@ -643,12 +1076,24 @@
import { isEmptyParams } from "@/views/utils/common"
import moment from 'moment'
import cooperativeUnitsInfo from '@/views/report/project/components/cooperativeUnitsInfo'
import participateUnitsInfo from '@/views/report/project/components/participateUnitsInfo'
import projectMemberInfo from '@/views/report/project/components/projectMemberInfo'
import projectKpiInfo from '@/views/report/project/components/projectKpiInfo.vue'
import budgetInfo from '@/views/report/project/components/budgetInfo'
import fundPlanInfo from '@/views/report/project/components/fundPlanInfo'
import unitPaymentInfo from '@/views/report/project/components/unitPaymentInfo'
import deviceInfo from '@/views/report/project/components/deviceInfo'
import manufactureInfo from '@/views/report/project/components/manufactureInfo'
import projStageGoalsInfo from "@/views/report/project/components/projStageGoalsInfo";
import projectSubInfo from '@/views/report/project/components/projectSubInfo'
import fileInfo from "@/views/report/project/components/fileInfo";
import { toTextarea } from '@/views/utils/common'
export default {
name: 'projectEdit',
components: {
cooperativeUnitsInfo, projectMemberInfo, projectKpiInfo, budgetInfo, fundPlanInfo, unitPaymentInfo, deviceInfo, manufactureInfo, fileInfo, projStageGoalsInfo, projectSubInfo, participateUnitsInfo
},
props: {
value: {
......@@ -657,6 +1102,12 @@ export default {
return null
}
},
tabsData: {
type: Array,
default: () => {
return []
}
},
},
data () {
return {
......@@ -772,7 +1223,7 @@ export default {
mounted () {
},
methods: {
moment,
moment, toTextarea,
save () {
this.$emit('load', true)
let pars = isEmptyParams(this.formData)
......
......@@ -828,7 +828,6 @@
</a-col>
</a-row>
</div>
</div>
</template>
......
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