Commit 0ec37203 authored by wangxl's avatar wangxl
parents 2e35d8b2 191bd6fb
......@@ -344,7 +344,7 @@
</a-col>
<a-col :span="8">
<a-form-model-item prop="startDate" style="width:200px;display: inline-block;">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.startDate" style="width: 180px" />
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.startDate" @change="startDateChange" style="width: 180px" />
</a-form-model-item>
</a-col>
<a-col :span="4" class="bg-gray">
......@@ -354,7 +354,7 @@
</a-col>
<a-col :span="8">
<a-form-model-item prop="endDate" style="width:200px;display: inline-block;">
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.endDate" style="width: 180px" />
<a-date-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD HH:mm:ss" v-model="formData.endDate" @change="endDateChange" style="width: 180px" />
</a-form-model-item>
</a-col>
</a-row>
......@@ -615,7 +615,9 @@
<!-- 设备费-购置设备预算明细表 -->
<equipments-edit :equipments.sync="formData.equipments" />
<!-- 科技计划项目承担单位研究资金支出预算明细表 -->
<unit-payment-edit :unitPayment.sync="formData.unitPayment" />
<unit-payment-edit :unitPayment.sync="formData.unitPayment"/>
<!-- 项目绩效指标 -->
<project-kpi-edit :projectKPI.sync="formData.projectKPI"/>
<!-- 项目课题设置 -->
<project-sub-edit :projectSubList.sync="formData.projectSubList" />
......@@ -640,6 +642,7 @@ import budgetEdit from '@/views/report/project/components/budgetEdit'
import fundPlanEdit from '@/views/report/project/components/fundPlanEdit'
import equipmentsEdit from '@/views/report/project/components/equipmentsEdit.vue'
import unitPaymentEdit from '@/views/report/project/components/unitPaymentEdit.vue'
import projectKpiEdit from '@/views/report/project/components/projectKpiEdit.vue'
import projectResearchEdit from '@/views/report/project/components/projectResearchEdit'
import projectSubEdit from '@/views/report/project/components/projectSubEdit'
import managementRuleEdit from '@/views/report/project/components/managementRuleEdit'
......@@ -655,11 +658,40 @@ const Cooperative = { id: null, unitName: null, unitCountry: null, unitAddress:
const Members = { name: null, sex: null, birthday: null, certificateType: null, certId: null, nation: null, country: null, workUnit: null, title: null, degree: null, email: null, mobile: null, telephone: null, fax: null, projWork: null, forMonths: null, spec: null }
const Equipment = { id: "", objectId: "", name: "", functionTarget: "", specificationType: "", quantity: 1, totalBudget: 0.00, useFrom: "", buyUnit: "", storageLocation: "", equipmentType: "", manufacturer: "", sharedScope: "", unitPrice: 0.00, }
const File = { fileName: '', downloadUrl: '', fileExplain: '', downloadId: '' }
const projectKPI = {
reportYear: "",
projName: "",
appUnitName: "",
projAttribute: "",
projDeadline: "",
startDate: "",
endData: "",
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: [],
};
export default {
name: 'projectEdit',
components: {
paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectResearchEdit, projectSubEdit, managementRuleEdit, fileEdit
paraMultiSelect, paraSelect, baseSelect, projectMemberEdit, cooperativeUnitsEdit, budgetEdit, fundPlanEdit, equipmentsEdit, unitPaymentEdit, projectKpiEdit, projectResearchEdit, projectSubEdit, managementRuleEdit, fileEdit
},
props: {
value: {
......@@ -715,6 +747,7 @@ export default {
economyTarget: null,
achievementTarget: null,
otherTarget: null,
projectKPI: projectKPI,
unitPayment: [],
cooperativeUnits: [],
members: [],
......@@ -824,6 +857,7 @@ export default {
this.formData.fileList = []
}
},
//processProjectYearTarget
save () {
if (this.checkProjName()) {
this.$emit('load', true)
......@@ -878,6 +912,13 @@ export default {
return true
}
},
startDateChange(value, dateString) {
this.formData.projectKPI.startDate = this.formData.startDate
},
endDateChange(value, dateString) {
this.formData.projectKPI.endDate = this.formData.endDate
console.log(this.formData.projectKPI)
}
},
watch: {
}
......
<template>
<div class="from-table font-line-space">
<a-row>
<a-col :span="24">
<div class="tb-title">
<span>项目绩效目标表</span>
</div>
</a-col>
</a-row>
<table class="tab-content" cellpadding="3" cellspacing="3" style="width: 98%">
<!-- <tr>
<td colspan="20" class="bg-title">{{ projectKPI.reportYear }}年度</td>
</tr>
<tr>
<td class="bg-title">项目名称</td>
<td colspan="19">{{ projectKPI.projName }}</td>
</tr>
<tr>
<td class="bg-title">实施单位</td>
<td colspan="10">{{ projectKPI.appUnitName }}</td>
<td colspan="2" class="bg-title">项目期</td>
<td colspan="7">{{ projectKPI.projDeadline }}</td>
</tr>
<tr>
<td class="bg-title">项目属性</td>
<td colspan="10">
<a-radio-group v-model="projectKPI.projAttribute">
<a-radio :value="projAttributes[0].id">{{projAttributes[0].name}}</a-radio>
<a-radio :value="projAttributes[1].id">{{projAttributes[1].name}}</a-radio>
</a-radio-group>
</td>
<td colspan="2" class="bg-title"></td>
<td colspan="7"></td>
</tr>
<tr>
<td rowspan="3" class="bg-title">项目资金(万元)</td>
<td colspan="2" class="bg-title">总体资金总额:</td>
<td colspan="8">{{ parseFloat(projectKPI.totalBudget).toFixed(2) }}</td>
<td colspan="2" class="bg-title">年度资金总额:</td>
<td colspan="7">{{ parseFloat(projectKPI.yearTotal).toFixed(2) }}</td>
</tr>
<tr>
<td colspan="2" class="bg-title">其中:财政拨款</td>
<td colspan="8">{{ parseFloat(projectKPI.applyFunds).toFixed(2) }}</td>
<td colspan="2" class="bg-title">其中:财政拨款</td>
<td colspan="7">{{ parseFloat(projectKPI.yearApply).toFixed(2) }}</td>
</tr>
<tr>
<td colspan="2" class="bg-title">其他资金</td>
<td colspan="8">{{ parseFloat(projectKPI.selfFunds).toFixed(2) }}</td>
<td colspan="2" class="bg-title">其他资金</td>
<td colspan="7">{{ parseFloat(projectKPI.yearSelf).toFixed(2) }}</td>
</tr> -->
<tr>
<td rowspan="3" class="bg-title">总体考核目标</td>
<td colspan="10" class="bg-title">
总体目标({{ moment(projectKPI.startDate).year() }}年—{{moment(projectKPI.endDate).year()}}年)
</td>
<td class="bg-title" colspan="9">分年度指标</td>
</tr>
<tr>
<td colspan="10" rowspan="2"></td>
<td class="target-value" colspan="3">{{ moment(projectKPI.startDate).year() }}</td>
<td class="target-value" colspan="3">{{ moment(projectKPI.startDate).add(1, 'year').year() }}</td>
<td class="target-value" colspan="3">{{ moment(projectKPI.startDate).add(2, 'year').year() }}</td>
</tr>
<tr>
<td colspan="3"></td>
<td colspan="3"></td>
<td colspan="3"></td>
</tr>
<tr>
<td :rowspan="projectKPI.totalRowSpan"></td>
<td rowspan="2" class="bg-title">一级指标</td>
<td rowspan="2" class="bg-title">二级指标</td>
<td rowspan="2" colspan="6" class="bg-title">三级指标</td>
<td rowspan="2" class="bg-title">指标值</td>
<td rowspan="2" class="bg-title">绩效标准</td>
<td rowspan="2" class="bg-title">二级指标</td>
<td rowspan="2" colspan="5" class="bg-title">三级指标</td>
<td colspan="3" class="bg-title">指标值</td>
</tr>
<tr>
<td>{{ moment(projectKPI.startDate).year() }}</td>
<td>{{ moment(projectKPI.startDate).add(1, 'year').year() }}</td>
<td>{{ moment(projectKPI.startDate).add(2, 'year').year() }}</td>
</tr>
<tr v-for="(item, index) in projectKPI.threeLevel" :key="index">
<td class="bg-title" v-if="item.oneDisplay" :rowspan="item.oneRowSpan">
{{ item.oneLevelName }}
</td>
<td class="bg-title" v-if="item.towDisplay" :rowspan="item.towRowSpan">
{{ item.towLevelName }}
</td>
<td colspan="6">{{ item.kpitName }}</td>
<td class="target-value">
<a-form-model-item :prop="'projectKPI.threeLevel.' + index + '.targetValue'" :rules="{required: false, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.targetValue" :min="0" :step="1" style="width: 90%" />
</a-form-model-item>
</td>
<td class="target-value">
<a-form-model-item :prop="'projectKPI.threeLevel.' + index + '.performanceStandard'" :rules="{required: false, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.performanceStandard" :min="0" :step="1" style="width: 90%" />
</a-form-model-item>
</td>
<td class="bg-title" v-if="item.towDisplay" :rowspan="item.towRowSpan">
{{ item.towLevelName }}
</td>
<td colspan="5">{{ item.kpitName }}</td>
<td class="target-value">
<a-form-model-item :prop="'projectKPI.threeLevel.' + index + '.yearValue1'" :rules="{required: false, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue1" :min="0" :step="1" style="width: 90%" />
</a-form-model-item>
</td>
<td class="target-value">
<a-form-model-item :prop="'projectKPI.threeLevel.' + index + '.yearValue2'" :rules="{required: false, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue2" :min="0" :step="1" style="width: 90%" />
</a-form-model-item>
</td>
<td class="target-value">
<a-form-model-item :prop="'projectKPI.threeLevel.' + index + '.yearValue3'" :rules="{required: false, message: '*', trigger: 'blur',}">
<a-input-number v-model="item.yearValue3" :min="0" :step="1" style="width: 90%" />
</a-form-model-item>
</td>
</tr>
</table>
</div>
</template>
<script>
import moment from "moment";
export default {
name: "projectKpiEdit",
props: {
projectKPI: {
type: Object,
default: () => {
return null;
},
},
},
data() {
return {
projAttributes: [
{ id: "5b9d6509-aece-11ef-b6cb-0c42a1380f01", name: "新增项目" },
{ id: "5b9d6509-aece-11ef-b6cb-0c42a1380f02", name: "延期项目" },
],
};
},
created() {
//this.getProjectKpitStatistic()
this.LoadParameterInfo();
},
methods: {
moment,
LoadParameterInfo() {
let pars1 = { typeId: 67 };
this.$api.parameter
.getParameterListByTypeId(pars1)
.then(({ data = {} }) => {
this.projAttributes = data;
//console.log(this.projAttribute[0].id)
})
.catch(() => {});
},
getProjectKpitStatistic() {
this.$api.statistical.getProjectKpitStatistic().then(({ data = {} }) => {
if (data) {
}
});
},
},
};
</script>
<style scoped lang="less">
table,
tr,
td {
border: 1px solid #080808;
font-size: 10pt;
text-align: left;
line-height: 25px;
height: 25px;
}
.bg-title {
background-color: #f5f5f5;
font-weight: bold;
text-align: center;
}
.target-value {
text-align: center;
}
</style>
\ No newline at end of file
......@@ -16,12 +16,12 @@
<td colspan="19">{{ projectKPI.projName }}</td>
</tr>
<tr>
<td class="bg-title">主管处室</td>
<td colspan="10"></td>
<td colspan="2" class="bg-title">实施单位</td>
<td colspan="7">{{ projectKPI.appUnitName }}</td>
<td class="bg-title">实施单位</td>
<td colspan="10">{{ projectKPI.appUnitName }}</td>
<td colspan="2" class="bg-title">项目期</td>
<td colspan="7">{{ projectKPI.projDeadline }}</td>
</tr>
<tr>
<!-- <tr>
<td class="bg-title">项目属性</td>
<td colspan="10">
<a-radio-group v-model="projectKPI.projAttribute">
......@@ -29,9 +29,9 @@
<a-radio :value="projAttributes[1].id">{{projAttributes[1].name}}</a-radio>
</a-radio-group>
</td>
<td colspan="2" class="bg-title">项目期</td>
<td colspan="7">{{ projectKPI.projDeadline }}</td>
</tr>
<td colspan="2" class="bg-title"></td>
<td colspan="7"></td>
</tr> -->
<tr>
<td rowspan="3" class="bg-title">项目资金(万元)</td>
<td colspan="2" class="bg-title">总体资金总额:</td>
......@@ -53,14 +53,14 @@
</tr>
<tr>
<td rowspan="3" class="bg-title">总体考核目标</td>
<td colspan="10" class="bg-title">总体目标({{ projectKPI.reportYear }}年—{{ projectKPI.reportYear + 2 }}年)</td>
<td colspan="10" class="bg-title">总体目标({{ moment(projectKPI.startDate).year() }}年—{{ moment(projectKPI.endDate).year() }}年)</td>
<td class="bg-title" colspan="9">分年度指标</td>
</tr>
<tr>
<td colspan="10" rowspan="2"></td>
<td class="target-value" colspan="3">{{ projectKPI.reportYear }}</td>
<td class="target-value" colspan="3">{{ projectKPI.reportYear + 1 }}</td>
<td class="target-value" colspan="3">{{ projectKPI.reportYear + 2 }}</td>
<td class="target-value" colspan="3">{{ moment(projectKPI.startDate).year() }}</td>
<td class="target-value" colspan="3">{{ moment(projectKPI.startDate).add(1, 'year').year() }}</td>
<td class="target-value" colspan="3">{{ moment(projectKPI.startDate).add(2, 'year').year() }}</td>
</tr>
<tr>
<td colspan="3"></td>
......@@ -79,9 +79,9 @@
<td colspan="3" class="bg-title">指标值</td>
</tr>
<tr>
<td>2020</td>
<td>2021</td>
<td>2022</td>
<td>{{ moment(projectKPI.startDate).year() }}</td>
<td>{{ moment(projectKPI.startDate).add(1, 'year').year() }}</td>
<td>{{ moment(projectKPI.startDate).add(2, 'year').year() }}</td>
</tr>
<tr v-for="(item, index) in projectKPI.threeLevel" :key="index">
<td class="bg-title" v-if="item.oneDisplay" :rowspan="item.oneRowSpan">{{ item.oneLevelName }}</td>
......@@ -101,7 +101,7 @@
<script>
export default {
name: "projectKPIInfo",
name: "projectKpiInfo",
props: {
projectKPI: {
type: Object,
......
......@@ -24,6 +24,8 @@ const projectKPI = {
appUnitName: "",
projAttribute: "",
projDeadline: "",
startDate: "",
endData: "",
totalBudget: 0.00,
applyFunds: 0.00,
selfFunds: 0.00,
......
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