Commit 170ce7ae authored by wangxl's avatar wangxl

333323

parent fc57327f
<template>
<div style="height:75vh;overflow:auto" class="app-content">
<a-form-model ref="form" :model="formData" :rules="rules" class="from-table font-line-space">
<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 class="special-middle">
<div>{{ }}</div>
</div>
</a-col>
</a-row>
<a-row type="flex" style="border-bottom:0;" class="none-bottom">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>申报单位</div>
</div>
</a-col>
<a-col :span="8">
<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="8">
<div class="special-middle">
<div>{{ Count() }}</div>
</div>
</a-col>
</a-row>
<table class="tab-content" style="width: 100%">
<tr>
<th>序号</th>
<th>内容</th>
<th>指标</th>
<th>评分内容</th>
<th>指标值</th>
<th>分值</th>
<th>评估评审标准</th>
<th>打分</th>
</tr>
<tr v-for="(item,index) in fromList" :key="'tr1'+index">
<td :rowspan="item.row1" v-if="item.row1>0">{{item.showIndex}}</td>
<td :rowspan="item.row1" v-if="item.row1>0">{{ item.title1 }}</td>
<td :rowspan="item.row2" v-if="item.row2>0">{{ item.title2 }}</td>
<td :rowspan="item.row3" v-if="item.row3>0">{{ item.title3 }}</td>
<td style="text-align: center;">{{ item.title }}</td>
<td style="text-align: center;">{{ item.score }}</td>
<td>{{ item.meaning }}</td>
<td style="text-align: center;" :rowspan="item.row3" v-if="item.row3>0">
<a-form-model-item :prop="'score' + item.order" v-if="item.order==1">
<a-input-number v-model="formData.score1" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==2">
<a-input-number v-model="formData.score2" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==3">
<a-input-number v-model="formData.score3" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==4">
<a-input-number v-model="formData.score4" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==5">
<a-input-number v-model="formData.score5" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==6">
<a-input-number v-model="formData.score6" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==7">
<a-input-number v-model="formData.score7" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==8">
<a-input-number v-model="formData.score8" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==9">
<a-input-number v-model="formData.score9" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==10">
<a-input-number v-model="formData.score10" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==11">
<a-input-number v-model="formData.score11" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==12">
<a-input-number v-model="formData.score12" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==13">
<a-input-number v-model="formData.score13" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==14">
<a-input-number v-model="formData.score14" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==15">
<a-input-number v-model="formData.score15" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==16">
<a-input-number v-model="formData.score16" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==17">
<a-input-number v-model="formData.score17" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==18">
<a-input-number v-model="formData.score18" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==19">
<a-input-number v-model="formData.score19" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
</td>
</tr>
<tr>
<td>5</td>
<td>附加项</td>
<td>审计或科技计划项目检验情况</td>
<td>申报单位所承担科技计划项目在接受审计中期评估、“双随机一公开”等工作中的情况。</td>
<td colspan="3">未发现问题,则该指标不适用;发现问题的,每涉及一个项目扣3分</td>
<td style="text-align: center;">
<a-form-model-item :prop="'additionalScore'">
<a-input-number v-model="formData.additionalScore" :max="0" style="width: 60%" />
</a-form-model-item>
</td>
</tr>
<tr>
<td style="text-align: center;" colspan="7">总得分</td>
<td style="text-align: center;">
{{0}}
</td>
</tr>
</table>
</a-form-model>
<!-- <a-form-model ref="form" :model="value" :rules="rules" class="from-table font-line-space"> -->
<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 class="special-middle">
<div>{{ value.projName }}</div>
</div>
</a-col>
</a-row>
<a-row type="flex" style="border-bottom:0;" class="none-bottom">
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>申报单位</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{ value.appUnitName }}</div>
</div>
</a-col>
<a-col :span="4" class="bg-gray">
<div class="special-middle">
<div>项目申请人</div>
</div>
</a-col>
<a-col :span="8">
<div class="special-middle">
<div>{{ value.appPersonName }}</div>
</div>
</a-col>
</a-row>
<table class="tab-content" style="width: 100%">
<tr>
<th>序号</th>
<th>内容</th>
<th>指标</th>
<th>评分内容</th>
<th>指标值</th>
<th>分值</th>
<th>评估评审标准</th>
<th>打分</th>
</tr>
<tr v-for="(item,index) in fromList" :key="'tr1'+index">
<td :rowspan="item.row1" v-if="item.row1>0">{{item.showIndex}}</td>
<td :rowspan="item.row1" v-if="item.row1>0">{{ item.title1 }}</td>
<td :rowspan="item.row2" v-if="item.row2>0">{{ item.title2 }}</td>
<td :rowspan="item.row3" v-if="item.row3>0">{{ item.title3 }}</td>
<td style="text-align: center;">{{ item.title }}</td>
<td style="text-align: center;">{{ item.score }}</td>
<td>{{ item.meaning }}</td>
<td style="text-align: center;" :rowspan="item.row3" v-if="item.row3>0">
<a-form-model-item :prop="'score' + item.order" v-if="item.order==1">
<a-input-number v-model="value.score1" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==2">
<a-input-number v-model="value.score2" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==3">
<a-input-number v-model="value.score3" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==4">
<a-input-number v-model="value.score4" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==5">
<a-input-number v-model="value.score5" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==6">
<a-input-number v-model="value.score6" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==7">
<a-input-number v-model="value.score7" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==8">
<a-input-number v-model="value.score8" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==9">
<a-input-number v-model="value.score9" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==10">
<a-input-number v-model="value.score10" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==11">
<a-input-number v-model="value.score11" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==12">
<a-input-number v-model="value.score12" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==13">
<a-input-number v-model="value.score13" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==14">
<a-input-number v-model="value.score14" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==15">
<a-input-number v-model="value.score15" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==16">
<a-input-number v-model="value.score16" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==17">
<a-input-number v-model="value.score17" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==18">
<a-input-number v-model="value.score18" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
<a-form-model-item :prop="'score' + item.order" v-if="item.order==19">
<a-input-number v-model="value.score19" :min="0" :max="item.max" style="width: 60%" />
</a-form-model-item>
</td>
</tr>
<tr>
<td>5</td>
<td>附加项</td>
<td>审计或科技计划项目检验情况</td>
<td>申报单位所承担科技计划项目在接受审计中期评估、“双随机一公开”等工作中的情况。</td>
<td colspan="3">未发现问题,则该指标不适用;发现问题的,每涉及一个项目扣3分</td>
<td style="text-align: center;">
<a-form-model-item :prop="'additionalScore'">
<a-input-number v-model="value.additionalScore" :max="0" style="width: 60%" />
</a-form-model-item>
</td>
</tr>
<tr>
<td style="text-align: center;" colspan="7">总得分</td>
<td style="text-align: center;">
{{Count()}}
</td>
</tr>
<tr>
<td colspan="4" style="text-align: right;">项目申报财政支持金额(万元)</td>
<td colspan="4" style="text-align: left;"> {{ value.applyFunding}}</td>
</tr>
<tr>
<td colspan="4" style="text-align: right;">项目预算评审建议财政支持金额(万元)</td>
<td colspan="4" style="text-align: left;">
<a-form-model-item :prop="'recommendFunding'">
<a-input-number v-model="value.recommendFunding" :min="0" style="width:100px" />
</a-form-model-item>
</td>
</tr>
<tr>
<td colspan="4" style="text-align: right;">意见与建议</td>
<td colspan="4" style="text-align: left;">
<a-form-model-item prop="remark">
<a-textarea placeholder="评审意见" v-model="value.remark" :maxLength="1000" style="width: 80%; height: 120px; margin-top: 6px" />
</a-form-model-item>
</td>
</tr>
<tr>
<td colspan="4" class="bg-title" style="text-align: right;">评审结果</td>
<td colspan="4">
<a-form-model-item prop="evaluationType">
<a-radio-group v-model="value.evaluationType" disabled>
<a-radio :value="1">A类(通过)</a-radio>
<a-radio :value="2">B类(建议修改)</a-radio>
<a-radio :value="3">C类(不通过)</a-radio>
</a-radio-group>
</a-form-model-item>
</td>
</tr>
</table>
<!-- </a-form-model> -->
</div>
</template>
......@@ -153,7 +185,7 @@ export default {
data () {
return {
fromList: standardList,
formData: {
w: {
score1: null,
score2: null,
score3: null,
......@@ -174,6 +206,11 @@ export default {
score18: null,
score19: null,
additionalScore: null,
totalScore: null,
applyFunding: null,
recommendFunding: null,
remark: null,
evaluationType: null,
},
rules: {
score1: { required: true, message: "*", trigger: "blur" },
......@@ -196,6 +233,9 @@ export default {
score18: { required: true, message: "*", trigger: "blur" },
score19: { required: true, message: "*", trigger: "blur" },
additionalScore: { required: true, message: "*", trigger: "blur" },
recommendFunding: { required: true, message: "*", trigger: "blur" },
remark: { required: true, message: "*", trigger: "blur" },
evaluationType: { required: true, message: "*", trigger: "change" },
},
};
},
......@@ -204,39 +244,29 @@ export default {
},
methods: {
Count () {
var s = 0.0;
for (var i = 1; i <= 19; i++) {
console.log(this.formData['score' + i])
if (this.value['score' + i]) {
s += parseFloat(this.value['score' + i])
}
}
return 0.00
// if (!source || !source.length) {
// return 0.00
// }
// let applyFunds = 0.00
// let selfFunds = 0.00
// source.forEach(i => {
// applyFunds = parseFloat(applyFunds + this.budget[i].applyFunds)
// selfFunds = parseFloat(selfFunds + this.budget[i].selfFunds)
// })
// if (type === 'applyFunds') {
// this.budget[index].applyFunds = applyFunds.toFixed(2)
// return applyFunds.toFixed(2)
// } else if (type === 'selfFunds') {
// this.budget[index].selfFunds = selfFunds.toFixed(2)
// return selfFunds.toFixed(2)
// } else {
// this.budget[index].totalBudget = (applyFunds + selfFunds).toFixed(2)
// return parseFloat(applyFunds + selfFunds).toFixed(2)
// }
if (!!this.value.additionalScore) {
s += parseFloat(this.value.additionalScore)
}
s = s.toFixed(1) * 10 / 10
this.value.totalScore = s
this.determineType()
return s
},
determineType () {
if (this.value.totalScore >= 80)
this.value.evaluationType = 1
else if (this.value.totalScore < 80 && this.value.totalScore >= 60)
this.value.evaluationType = 2
else
this.value.evaluationType = 3
},
},
watch: {
formData: {
handler (value) {
console.log(value)
},
deep: true
}
}
};
</script>
<style scoped lang="less">
......
......@@ -11,9 +11,8 @@
<div v-show="tabsActive==='1'" style="height:100%;">
<div style="height:calc(100% - 40px);overflow: auto;">
<a-form-model ref="form" :model="formData" :rules="rules" class="from-table font-line-space">
<technology-evalucation v-if="totalFunding >= 50" v-model="formData"></technology-evalucation>
<economy v-if="totalFunding < 50" v-model="formData" />
<economy v-model="formData" v-if="false"/>
<technology-evalucation v-if="totalFunding >= 50" v-model="formData"></technology-evalucation>
<div v-else>
<a-row type="flex">
<a-col :span="4" class="bg-gray">
......@@ -191,6 +190,10 @@ export default {
remark: [{ required: true, message: '请填写评审意见', trigger: 'blur' },],
supportState: { required: true, message: "请选择是否支持立项", trigger: "blur" },
evaluationType: { required: true, message: "*", trigger: "blur" },
score18: { required: true, message: "*", trigger: "blur" },
score19: { required: true, message: "*", trigger: "blur" },
additionalScore: { required: true, message: "*", trigger: "blur" },
recommendFunding: { required: true, message: "*", trigger: "blur" },
},
projectInfo: {
projName: '',
......@@ -287,6 +290,10 @@ export default {
if (this.projectInfo.fileList[i].fileExplain.indexOf("项目申报简要信息首页") == -1 && this.projectInfo.fileList[i].fileExplain.indexOf("项目组成员签字") == -1)
fileArr.push(this.projectInfo.fileList[i])
}
this.formData.projName = data.projName
this.formData.appUnitName = data.appUnitName
this.formData.appPersonName = data.appPersonName
this.formData.applyFunding = data.govFunding
this.projectInfo.fileList = fileArr
this.isProjectInfoLoad = true
this.loading = false
......
......@@ -21,7 +21,6 @@
<a-divider style="height: 1px; background-color: #e8e8e8;" />
<div class="submit-btn">
<a-button type="primary" @click="exportData" icon="download">Excel</a-button>
<!-- <a-button type="primary" @click="scoreClick" icon="download">评分</a-button> -->
</div>
<a-table :dataSource="tableData" :columns="columns" :scroll="{ x: 'max-content' }" rowKey="id" :pagination="false" :loading="loading">
<template slot="projName" slot-scope="record">
......@@ -40,9 +39,6 @@
<a-modal v-model="visibleView" v-if="visibleView" title="项目详情" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false">
<project-view v-model="id" @close="closeWindow"></project-view>
</a-modal>
<a-modal v-model="visibleScore" v-if="visibleScore" title="评分" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false">
<score-edit />
</a-modal>
</div>
</template>
......@@ -51,11 +47,10 @@ import { getType } from '@/views/utils/auth'
import moment from 'moment'
import { isEmptyParams, filterExportExcelData, tableColumnsName } from "@/views/utils/common";
import projectView from '@/views/report/project/components/projectView'
import scoreEdit from '@/views/evaluation/components/economy'
export default {
name: 'queryProject',
components: {
projectView, scoreEdit
projectView
},
data () {
return {
......@@ -79,7 +74,6 @@ export default {
loading: false,
// 弹窗标志
visibleView: false,
visibleScore: false,
id: null,
loadState: false
}
......@@ -87,9 +81,6 @@ export default {
created () {
},
methods: {
scoreClick () {
this.visibleScore = true
},
search () {
this.pagination.pageIndex = 1
this.getListByPage()
......
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