first commit

This commit is contained in:
2026-09-20 15:46:34 +08:00
parent 72fb5eae10
commit e558339dcc
3340 changed files with 671310 additions and 251 deletions
@@ -0,0 +1,506 @@
<template>
<el-tabs v-model="activeName" tab-position="top">
<el-tab-pane label="基本信息" name="1">
<el-card>
<table class="table table-bordered">
<tr>
<td class="text-center" colspan="6" style="font-size: 20px;">
{{ kt.jbxx.xmmc }}
<el-tooltip content="点我可以导出申报表" effect="dark" placement="top-start">
<i class="el-icon-tickets text-primary pointer"
@click="()=>{ window.open(base+'/platform/syr/common/exportlxsbs?id='+this.kt.jbxx.id)}">
</i>
</el-tooltip>
</td>
</tr>
<tr>
<td class="td-title" width="11.1%">姓名</td>
<td class="td-content" width="22.2%">{{ kt.jbxx.username }}</td>
<td class="td-title" width="11.1%">性别</td>
<td td-content width="22.2%">{{ kt.jbxx.sex }}</td>
<td class="td-title" width="11.1%">出生年月</td>
<td td-content width="22.2%">{{ kt.jbxx.birthday }}</td>
</tr>
<tr>
<td class="td-title">职务/职称</td>
<td td-content>{{ kt.jbxx.zwzc }}</td>
<td class="td-title">学历/学位</td>
<td td-content>{{ kt.jbxx.xlxw }}</td>
<td class="td-title">所在单位</td>
<td td-content>{{ kt.jbxx.dwname }}</td>
</tr>
<tr>
<td class="td-title">办公电话</td>
<td td-content>{{ kt.jbxx.bgphone }}</td>
<td class="td-title">手机</td>
<td td-content>{{ kt.jbxx.mobile }}</td>
<td class="td-title">电子信箱</td>
<td td-content>{{ kt.jbxx.email }}</td>
</tr>
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
项目组成员
</td>
</tr>
<tr>
<td colspan="6" style="padding:0!important;border-top: none">
<table class="table table-bordered">
<tr>
<td>姓名</td>
<td>职称</td>
<td>学历</td>
<td>工作单位</td>
</tr>
<tr v-for="o in kt.jbxx.xmzcy">
<td>{{ o.username }}</td>
<td>{{ o.zc }}</td>
<td>{{ o.xl }}</td>
<td>{{ o.gzdw }}</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
项目研究基础及条件
</td>
</tr>
<tr>
<td colspan="6">
<div class="text-left" v-html="kt.jbxx.yjjctj"></div>
</td>
</tr>
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
项目预期成果及应用推广价值
</td>
</tr>
<tr>
<td colspan="6">
<div class="text-left" v-html="kt.jbxx.yqcgtgjz"></div>
</td>
</tr>
</table>
</el-card>
</el-tab-pane>
<el-tab-pane v-if="kt.jbxx.state>20" label="院级工会初审信息" name="2">
<el-card>
<div class="item">
<div class="clearfix">
<label class="item-label">审核人</label>
<div class="item-content">{{ kt.jbxx.stbmghfzr }}</div>
</div>
<div class="clearfix">
<label class="item-label">审核时间</label>
<div class="item-content">{{ kt.jbxx.stbmghshsj }}</div>
</div>
<div class="clearfix">
<label class="item-label">审核意见</label>
<div class="item-content">{{ kt.jbxx.stbmghyj }}</div>
</div>
<div class="clearfix">
<label class="item-label"> 签字</label>
<div class="item-content">
<el-image :src="kt.jbxx.stbmghfzrqz" style="width: 200px;height:auto"></el-image>
</div>
</div>
</div>
</el-card>
</el-tab-pane>
<el-tab-pane v-if="kt.jbxx.state>30" label="校工会初审信息" name="3">
<el-card>
<div class="item">
<div class="clearfix">
<label class="item-label">审核人</label>
<div class="item-content">{{ kt.jbxx.stxghfzr }}</div>
</div>
<div class="clearfix">
<label class="item-label">审核时间</label>
<div class="item-content">{{ kt.jbxx.stxghshsj }}</div>
</div>
<div class="clearfix">
<label class="item-label">审核意见</label>
<div class="item-content">{{ kt.jbxx.stxghyj }}</div>
</div>
<div class="clearfix">
<label class="item-label"> 签字</label>
<div class="item-content">
<el-image :src="kt.jbxx.stxghfzrqz" style="width: 200px;height:auto"></el-image>
</div>
</div>
</div>
</el-card>
</el-tab-pane>
<!--# if(@shiro.hasRole('superadmin') || @shiro.hasRole('A06')){ #-->
<el-tab-pane v-if="kt.jbxx.state>=40" label="评委立项评审信息" name="4">
<el-row :gutter="10" class="mb10" type="flex">
<el-col :span="12">
<el-card class="box-card-syr" shadow="never">
<div slot="header" class="clearfix">
<span>建议立项率(建议立项数/已审数)</span>
</div>
<div id="jylxDiv" class="text-center" style="height: 300px;width: 500px"></div>
</el-card>
</el-col>
<el-col :span="12">
<el-card class="box-card-syr" shadow="never">
<div slot="header" class="clearfix">
<span>立项等次</span>
</div>
<div id="lxlevelDiv" class="text-center" style="height: 300px;width: 500px"></div>
</el-card>
</el-col>
</el-row>
<div>
<el-card>
<table class="table table-bordered">
<tr>
<td width="10%">评委姓名</td>
<td width="10%">评委工号</td>
<td width="10%">是否建议立项</td>
<td width="10%">立项等次</td>
<td width="30%">评审意见</td>
<td width="20%">评审时间</td>
<td width="10%">是否评审</td>
</tr>
<tr v-for="o in kt.lxpsxx">
<td>{{ o.username }}</td>
<td>{{ o.loginname }}</td>
<td>{{ o.isjylx === 1 ? '√' : o.isjylx === 0 ? '×' : '' }}</td>
<td>{{ o.lxlevel ? o.lxlevel + '元' : '' }}</td>
<td>
<div style="max-height: 100px;overflow-y: auto">
{{ o.psyj }}
</div>
</td>
<td>{{ o.pssj }}</td>
<td>
<i :class="o.pssj==null?'text-danger el-icon-circle-close':'text-success el-icon-circle-check'">
{{ o.pssj == null ? '未审' : '已审' }}
</i>
</td>
</tr>
</table>
</el-card>
</div>
</el-tab-pane>
<!--# } #-->
<el-tab-pane v-if="kt.jbxx.state>50" label="校工会立项评审信息" name="5">
<el-card>
<div class="item">
<div class="clearfix">
<label class="item-label">审核人</label>
<div class="item-content">{{ kt.jbxx.lxusername }}</div>
</div>
<div class="clearfix">
<label class="item-label">立项审核时间</label>
<div class="item-content">{{ kt.jbxx.lxsj }}</div>
</div>
<div class="clearfix">
<label class="item-label">立项结果</label>
<div class="item-content">{{ kt.jbxx.lxresult ? '立项' : '不予立项' }}</div>
</div>
<div class="clearfix">
<label class="item-label">立项等次</label>
<div class="item-content">{{ kt.jbxx.lxlevel }}元</div>
</div>
</div>
</el-card>
</el-tab-pane>
<el-tab-pane v-if="kt.jbxx.state>60 && kt.jbxx.lxresult===1" label="中期检查提醒" name="6">
<el-card>
<div class="item">
<div class="clearfix">
<label class="item-label">提醒时间</label>
<div class="item-content">{{ kt.jbxx.zqtbtxsj }}</div>
</div>
<div class="clearfix">
<label class="item-label">截止时间</label>
<div class="item-content">{{ kt.jbxx.zqtbjzsj }}</div>
</div>
</div>
</el-card>
</el-tab-pane>
<el-tab-pane v-if="kt.jbxx.state>70 && kt.jbxx.lxresult===1" label="中期检查表" name="7">
<el-card>
<div class="item">
<div class="clearfix">
<label class="item-label" style="width: 200px">项目的进展情况及存在的问题</label>
<div class="item-content" style="margin-left: 200px">{{ kt.jbxx.zqxmjzqk }}</div>
</div>
<div class="clearfix">
<label class="item-label" style="width: 200px">经费预算明细</label>
<div class="item-content" style="margin-left:200px">{{ kt.jbxx.zqjfysmx }}</div>
</div>
<div class="clearfix">
<label class="item-label" style="width: 200px">备注</label>
<div class="item-content" style="margin-left:200px">{{ kt.jbxx.zqbz }}</div>
</div>
<div class="clearfix">
<label class="item-label" style="width: 200px">附件</label>
<div class="item-content" style="margin-left:200px">
<div class="pointer"
@click="()=>{window.location.href=base+'/platform/syr/common/exportzqjcb?id='+this.kt.jbxx.id}">
<svg id="icon-yunpanlogo-2" height="20" viewBox="0 0 1024 1024" width="20">
<path
d="M902.095238 314.514286V853.333333a97.52381 97.52381 0 0 1-97.523809 97.52381H219.428571a97.52381 97.52381 0 0 1-97.523809-97.52381V170.666667a97.52381 97.52381 0 0 1 97.523809-97.52381h441.295239z"
fill="#4997D9"></path>
<path d="M571.245714 720.944762h50.956191L707.047619 449.340952h-50.95619l-84.845715 271.60381z"
fill="#FFFFFF"></path>
<path
d="M660.72381 265.752381V73.142857l241.371428 241.371429h-192.609524a48.761905 48.761905 0 0 1-48.761904-48.761905z"
fill="#4B80CB"></path>
<path d="M622.201905 720.944762h-50.956191l-84.601904-237.470476h50.71238l84.845715 237.470476z"
fill="#FFFFFF"></path>
<path d="M401.798095 720.944762h50.956191l84.601904-237.470476h-50.71238l-84.845715 237.470476z"
fill="#FFFFFF"></path>
<path d="M452.754286 720.944762h-50.956191L316.952381 449.340952h50.95619l84.845715 271.60381z"
fill="#FFFFFF"></path>
</svg>
中期检查表.docx
</div>
</div>
</div>
</div>
</el-card>
</el-tab-pane>
<el-tab-pane v-if="kt.jbxx.state>80 && kt.jbxx.lxresult===1" label="中期审核信息" name="8">
<el-card>
<div class="item">
<div class="clearfix">
<label class="item-label">审核人</label>
<div class="item-content">{{ kt.jbxx.zqxghfzr }}</div>
</div>
<div class="clearfix">
<label class="item-label">审核时间</label>
<div class="item-content">{{ kt.jbxx.zqxghshsj }}</div>
</div>
<div class="clearfix">
<label class="item-label">审核意见</label>
<div class="item-content">{{ kt.jbxx.zqxghyj }}</div>
</div>
</div>
</el-card>
</el-tab-pane>
<el-tab-pane v-if="kt.jbxx.state>90 && kt.jbxx.lxresult===1" label="结题报告" name="9">
<el-card>
<table class="table table-bordered">
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
项目研究实践的主要内容及方法
</td>
</tr>
<tr>
<td colspan="6">
<div class="text-left">{{ kt.jtbgs.zynr }}</div>
</td>
</tr>
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
成果自我评价及应用范围或取得的社会效益
</td>
</tr>
<tr>
<td colspan="6">
<div class="text-left">{{ kt.jtbgs.zwpjshxy }}</div>
</td>
</tr>
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
主要成果介绍
</td>
</tr>
<tr>
<td colspan="6">
<div class="text-left">{{ kt.jtbgs.zycgjs }}</div>
</td>
</tr>
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
经费使用情况
</td>
</tr>
<tr>
<td colspan="6">
<div class="text-left">{{ kt.jtbgs.jfsyqk }}</div>
</td>
</tr>
<tr>
<td class="text-center" colspan="6"
style="font-size: 15px;border-top: 1px solid #e3e6f3;">
研究成果及佐证材料文件
</td>
</tr>
<tr>
<td colspan="6">
<div v-for="o in kt.yjcgfj" class="pointer text-left"
@click="dd3s.download(o.filepath,o.filename)">
<svg id="icon-yunpanlogo-2" height="20" viewBox="0 0 1024 1024" width="20">
<path
d="M902.095238 314.514286V853.333333a97.52381 97.52381 0 0 1-97.523809 97.52381H219.428571a97.52381 97.52381 0 0 1-97.523809-97.52381V170.666667a97.52381 97.52381 0 0 1 97.523809-97.52381h441.295239z"
fill="#4997D9"></path>
<path d="M571.245714 720.944762h50.956191L707.047619 449.340952h-50.95619l-84.845715 271.60381z"
fill="#FFFFFF"></path>
<path
d="M660.72381 265.752381V73.142857l241.371428 241.371429h-192.609524a48.761905 48.761905 0 0 1-48.761904-48.761905z"
fill="#4B80CB"></path>
<path d="M622.201905 720.944762h-50.956191l-84.601904-237.470476h50.71238l84.845715 237.470476z"
fill="#FFFFFF"></path>
<path d="M401.798095 720.944762h50.956191l84.601904-237.470476h-50.71238l-84.845715 237.470476z"
fill="#FFFFFF"></path>
<path d="M452.754286 720.944762h-50.956191L316.952381 449.340952h50.95619l84.845715 271.60381z"
fill="#FFFFFF"></path>
</svg>
{{ o.filename }}
</div>
</td>
</tr>
</table>
</el-card>
</el-tab-pane>
<!--# if(@shiro.hasRole('superadmin') || @shiro.hasRole('A06')){ #-->
<el-tab-pane v-if="kt.jbxx.state>=100 && kt.jbxx.lxresult===1" label="评委结题评审信息"
name="10">
<el-row :gutter="10" class="mb10" type="flex">
<el-col :span="12">
<el-card class="box-card-syr">
<div slot="header" class="clearfix">
<span>通过比例(通过数/已审数)</span>
</div>
<div id="passDiv" class="text-center" style="height: 300px;width: 500px"></div>
</el-card>
</el-col>
<el-col :span="12">
<el-card class="box-card-syr">
<div slot="header" class="clearfix">
<span>优秀比例(优秀数/通过数)</span>
</div>
<div id="goodDiv" class="text-center" style="height: 300px;width: 500px"></div>
</el-card>
</el-col>
</el-row>
<div>
<el-card>
<table class="table table-bordered">
<tr>
<td width="10%">评委姓名</td>
<td width="10%">评委工号</td>
<td width="10%">是否通过</td>
<td width="10%">是否优秀</td>
<td width="20%">评审时间</td>
<td width="30%">评审建议</td>
<td width="10%">是否评审</td>
</tr>
<tr v-for="o in kt.jtpsxx">
<td>{{ o.username }}</td>
<td>{{ o.loginname }}</td>
<td>{{ o.ispass === 1 ? '√' : o.ispass === 0 ? '×' : '' }}</td>
<td>{{ o.isgood === 1 ? '√' : o.isgood === 0 ? '×' : '' }}</td>
<td>{{ o.pssj }}</td>
<td>
<div style="max-height: 100px;overflow-y: auto">
{{ o.psjy }}
</div>
</td>
<td>
<i :class="o.pssj==null?'text-danger el-icon-circle-close':'text-success el-icon-circle-check'">
{{ o.pssj == null ? '未审' : '已审' }}
</i>
</td>
</tr>
</table>
</el-card>
</div>
</el-tab-pane>
<!--# } #-->
<el-tab-pane v-if="kt.jbxx.state>110 && kt.jbxx.lxresult===1" label="校工会结题评审信息"
name="11">
<el-card>
<div class="item">
<div class="clearfix">
<label class="item-label">评审人</label>
<div class="item-content">{{ kt.jbxx.jtxghfzr }}</div>
</div>
<div class="clearfix">
<label class="item-label">评审时间</label>
<div class="item-content">{{ kt.jbxx.jtxghshsj }}</div>
</div>
<div class="clearfix">
<label class="item-label">是否通过</label>
<div class="item-content">{{ kt.jbxx.ispass ? '是' : '否' }}</div>
</div>
<div v-if="kt.jbxx.ispass===1" class="clearfix">
<label class="item-label">是否优秀</label>
<div class="item-content">{{ kt.jbxx.isgood ? '是' : '否' }}</div>
</div>
</div>
</el-card>
</el-tab-pane>
<!--handle 主要是审核操作-->
<slot name="handle"></slot>
</el-tabs>
</template>
<script>
module.exports = {
props: {
activeName: {
type: String,
default: '1'
}
},
data() {
return {
kt: {
jbxx: {},
lxpsxx: {},
jtpsxx: {},
jtbgs: {},
yjcgfj: []
}
}
},
methods: {
async openView(id, activeName = '1') {
const resp = await $.get(base + '/platform/syr/common/findOne', {id})
this.activeName = activeName
if (resp.code === 0) {
this.$set(this, 'kt', resp.data)
this.kt.jbxx.xmzcy = JSON.parse(resp.data.jbxx.xmzcy)
// if (this.kt.jbxx.state >= 40 && this.smm.showpane.includes(4)) {
// this.initPwLxPsPlot()
// }
// if (this.kt.jbxx.state > 100 && this.kt.jbxx.lxresult === 1 && this.smm.showpane.includes(10)) {
// this.initPwJtPsPlot()
// }
}
}
}
}
</script>
<style scoped>
</style>