first commit
This commit is contained in:
@@ -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>
|
||||
@@ -0,0 +1,345 @@
|
||||
<template>
|
||||
<transition name="el-zoom-in-center">
|
||||
<div class="transition-item" v-show="smm.status==='detail'">
|
||||
<el-card shadow="never" class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-button icon="el-icon-back" type="text" @click="changeStatus" style="font-size: 18px">返回</el-button>
|
||||
</div>
|
||||
|
||||
</el-card>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
let passPlot = null
|
||||
let goodPlot = null
|
||||
|
||||
let jylxPlot = null
|
||||
let lxlevelPlot= null
|
||||
|
||||
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
kt: {
|
||||
jbxx: {},
|
||||
lxpsxx: {},
|
||||
jtpsxx: {},
|
||||
jtbgs: {},
|
||||
yjcgfj: []
|
||||
},
|
||||
pwlxxxshow:false,
|
||||
pwjtxxshow:false
|
||||
}
|
||||
},
|
||||
props: {
|
||||
smm:{
|
||||
type:'Object',
|
||||
default:()=>{
|
||||
return{
|
||||
status:'table',
|
||||
id:'',
|
||||
active:'1',
|
||||
showpane:[1],
|
||||
request:''
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
smm(o) {
|
||||
if(o.status==='detail'){
|
||||
this.getData(o.id)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeStatus(){
|
||||
this.smm.status = 'table'
|
||||
this.$emit('update:smm', this.smm)
|
||||
},
|
||||
getData(val) {
|
||||
$.get(base + '/platform/syr/common/findOne', {id: val}).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.kt = res.data
|
||||
this.kt.jbxx.xmzcy = JSON.parse(res.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()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
initPwLxPsPlot() {
|
||||
//已评审的
|
||||
let ypsList = this.kt.lxpsxx.filter(o => o.pssj !== null)
|
||||
if(ypsList.length>0){this.pwlxxxshow = true}
|
||||
//建议立项的
|
||||
let jylxList = this.kt.lxpsxx.filter(o => o.isjylx === 1)
|
||||
|
||||
this.$nextTick(()=>{
|
||||
const jylxDiv = document.getElementById('jylxDiv')
|
||||
const jylxChart = echarts.init(jylxDiv)
|
||||
const value = (jylxList.length / ypsList.length) * 100;
|
||||
console.log(value)
|
||||
const option = {
|
||||
tooltip: {
|
||||
formatter: '{a} <br/>{b} : {c}%'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Pressure',
|
||||
type: 'gauge',
|
||||
progress: {
|
||||
show: true
|
||||
},
|
||||
detail: {
|
||||
valueAnimation: true,
|
||||
formatter: '{value}'
|
||||
},
|
||||
data: [
|
||||
{
|
||||
value: value,
|
||||
name: '建议立项率'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
jylxChart.setOption(option)
|
||||
|
||||
|
||||
|
||||
const level2List = this.kt.lxpsxx.filter(o=>{return o.lxlevel==='2000'})
|
||||
const level3List = this.kt.lxpsxx.filter(o=>{return o.lxlevel==='3000'})
|
||||
const level5List = this.kt.lxpsxx.filter(o=>{return o.lxlevel==='5000'})
|
||||
let roleData = [{name:'2000元',value:level2List.length},{name:'3000元',value:level3List.length},{name:'5000元',value:level5List.length}]
|
||||
|
||||
const lxlevelChart = echarts.init(document.getElementById('lxlevelDiv'))
|
||||
lxlevelChart.setOption({
|
||||
legend: {
|
||||
orient: 'vertical',
|
||||
left: 'left'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '立项等次',
|
||||
type: 'pie',
|
||||
radius: '50%',
|
||||
data: roleData,
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
})
|
||||
},
|
||||
initPwJtPsPlot() {
|
||||
//已评审的
|
||||
let ypsList = this.kt.jtpsxx.filter(o => o.pssj !== null)
|
||||
//通过的
|
||||
let passList = this.kt.jtpsxx.filter(o => o.ispass === 1)
|
||||
//优秀的
|
||||
let goodList = this.kt.jtpsxx.filter(o => o.isgood === 1)
|
||||
|
||||
this.$nextTick(()=>{
|
||||
const passChart = echarts.init(document.getElementById('passDiv'))
|
||||
const passValue = (passList.length / ypsList.length ) * 100
|
||||
passChart.setOption({
|
||||
tooltip: {
|
||||
formatter: '{a} <br/>{b} : {c}%'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Pressure',
|
||||
type: 'gauge',
|
||||
progress: {
|
||||
show: true
|
||||
},
|
||||
detail: {
|
||||
valueAnimation: true,
|
||||
formatter: '{value}'
|
||||
},
|
||||
data: [
|
||||
{
|
||||
value: passValue,
|
||||
name: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
const goodChart = echarts.init(document.getElementById('goodDiv'))
|
||||
const goodValue = (goodList.length / passList.length ) * 100
|
||||
goodChart.setOption({
|
||||
tooltip: {
|
||||
formatter: '{a} <br/>{b} : {c}%'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Pressure',
|
||||
type: 'gauge',
|
||||
progress: {
|
||||
show: true
|
||||
},
|
||||
detail: {
|
||||
valueAnimation: true,
|
||||
formatter: '{value}'
|
||||
},
|
||||
data: [
|
||||
{
|
||||
value: goodValue,
|
||||
name: ''
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
// if(passPlot){passPlot.destory()}
|
||||
// this.$nextTick(()=>{
|
||||
// passPlot = new G2Plot.Liquid(document.getElementById('passDiv'), {
|
||||
// forceFit: false,
|
||||
// width: 150,
|
||||
// height: 150,
|
||||
// min: 0,
|
||||
// max: ypsList.length,
|
||||
// value: passList.length,
|
||||
// statistic: {
|
||||
// formatter: (value) => ((100 * value) / ypsList.length).toFixed(1) + '%',
|
||||
// }
|
||||
// })
|
||||
// passPlot.render()
|
||||
// })
|
||||
|
||||
|
||||
// if(goodPlot){goodPlot.destory()}
|
||||
// this.$nextTick(()=>{
|
||||
// goodPlot = new G2Plot.Liquid(document.getElementById('goodDiv'), {
|
||||
// forceFit: false,
|
||||
// width: 150,
|
||||
// height: 150,
|
||||
// min: 0,
|
||||
// max: passList.length,
|
||||
// value: goodList.length,
|
||||
// statistic: {
|
||||
// formatter: (value) => ((100 * value) / passList.length).toFixed(1) + '%',
|
||||
// }
|
||||
// })
|
||||
// goodPlot.render()
|
||||
// })
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.td-title{
|
||||
/*background-color: #EBEEF5;*/
|
||||
}
|
||||
.td-content{
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.table-bordered > tbody > tr > td{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.el-tab-pane {
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.el-collapse-item__header {
|
||||
background-color: #317fca !important;
|
||||
color: #fff !important;
|
||||
padding-left: 10px !important;
|
||||
height: 35px !important;
|
||||
line-height: 35px !important;
|
||||
font-size: 16px !important;
|
||||
}
|
||||
|
||||
.table {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.table-bordered {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.item-label {
|
||||
width: 150px;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
float: left;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 40px;
|
||||
padding: 0 12px 0 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.item-label:after{
|
||||
content: ':';
|
||||
}
|
||||
|
||||
.item-content {
|
||||
margin-left: 150px;
|
||||
line-height: 40px;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.level-span {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.level-1 {
|
||||
border: 1px solid #DC143C;
|
||||
color: #DC143C;
|
||||
}
|
||||
|
||||
.level-2 {
|
||||
border: 1px solid #FF69B4;
|
||||
color: #FF69B4;
|
||||
}
|
||||
|
||||
.level-3 {
|
||||
border: 1px solid #FF4500;
|
||||
color: #FF4500;
|
||||
}
|
||||
|
||||
.text-maxheight {
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.box-card-syr {
|
||||
/*width: 50%;*/
|
||||
/*margin: 10px;*/
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -0,0 +1,176 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card shadow="never">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input v-model="pageForm.xmmc" placeholder="请输入项目名称查询" style="width: 250px;"></el-input>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input v-model="pageForm.searchKeyword" placeholder="请输入内容" @keyup.enter.native="doSearch">
|
||||
<el-select slot="prepend" v-model="pageForm.searchName" placeholder="查询类型"
|
||||
style="width: 120px;">
|
||||
<el-option label="申报人姓名" value="u.username"></el-option>
|
||||
<el-option label="申报人工号" value="u.loginname"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-show="!hasNotghdwUrl.includes(request)" class="btn-group tool-button mt5">
|
||||
<el-select v-model="pageForm.unionid" clearable filterable placeholder="请选择院级工会" @change="getUnitList()">
|
||||
<el-option
|
||||
v-for="item in unionList"
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-select v-model="pageForm.unitid" clearable filterable placeholder="请选择单位">
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
|
||||
<slot name="search-group">
|
||||
<!--不同页面的查询条件自定义-->
|
||||
</slot>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button icon="el-icon-search" type="primary" @click="doSearch"></el-button>
|
||||
</div>
|
||||
<div v-if="!isshow" class="pull-right offscreen-right mt5">
|
||||
<el-radio-group v-model="pageForm.isAudit" class="mr10" @change="doSearch">
|
||||
<el-radio-button :label="null">全部</el-radio-button>
|
||||
<el-radio-button :label="true">已{{ auditval }}</el-radio-button>
|
||||
<el-radio-button :label="false">未{{ auditval }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<slot name="right"></slot>
|
||||
|
||||
|
||||
<!-- <el-button v-if="request==='/platfotm/syr/info/zqtb/pageData'"size="medium" @click="doDeleteUsers"><i class="ti-plus"></i> 一键提醒</el-button>-->
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card class="mt10" shadow="never">
|
||||
<el-table :data="data" @sort-change='pageOrder'>
|
||||
<el-table-column align="center" header-align="center" label="序号" type="index">
|
||||
<template scope="scope">
|
||||
<span>{{ scope.$index + (pageForm.pageNumber - 1) * pageForm.pageSize + 1 }} </span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="项目名称" prop="xmmc" show-overflow-tooltip width="400"></el-table-column>
|
||||
<el-table-column v-if="request==='/platfotm/syr/info/zqtb/pageData'" label="中期检查截止时间" prop="zqtbjzsj"
|
||||
width="200"></el-table-column>
|
||||
<el-table-column label="申报人" prop="username"></el-table-column>
|
||||
<el-table-column label="性别" prop="sex" width="100"></el-table-column>
|
||||
<el-table-column label="申报单位" prop="dwname" show-overflow-tooltip width="150"></el-table-column>
|
||||
<el-table-column label="职务职称" prop="zwzc" width="100"></el-table-column>
|
||||
<el-table-column label="状态" prop="statename" sortable width="200"></el-table-column>
|
||||
<el-table-column label="申报日期" prop="sbrq" sortable width="100"></el-table-column>
|
||||
<slot name="operation"></slot>
|
||||
</el-table>
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-size="pageForm.pageSize"
|
||||
:total="pageForm.totalCount"
|
||||
layout="total, prev, pager, next, jumper"
|
||||
@current-change="pageNumberChange">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
selection: [],
|
||||
hasNotghdwUrl: ['/platfotm/syr/info/jtsq/pageData', '/platfotm/syr/info/mykt/pageData', '/platfotm/syr/info/zqtb/pageData'],
|
||||
data: [],
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
pageForm: {
|
||||
isAudit: false,
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: '',
|
||||
pageOrderBy: '',
|
||||
searchName: 'u.username',
|
||||
searchKeyword: '',
|
||||
xmmc: '',
|
||||
unitid: '',
|
||||
unionio: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
smm: {
|
||||
type: 'Object',
|
||||
default: () => {
|
||||
return {
|
||||
status: '',
|
||||
request: '',
|
||||
rowsel: false,
|
||||
}
|
||||
}
|
||||
},
|
||||
request: {
|
||||
type: String
|
||||
},
|
||||
auditval: {
|
||||
type: String
|
||||
},
|
||||
isshow: {
|
||||
type: Boolean
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async pageData() {
|
||||
const {data} = await POST(base + this.request, this.pageForm, true)
|
||||
this.data = data.list
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
},
|
||||
pageOrder(column) {
|
||||
this.pageForm.pageOrderName = column.prop
|
||||
this.pageForm.pageOrderBy = column.order
|
||||
this.pageData()
|
||||
},
|
||||
pageNumberChange(val) {
|
||||
this.pageForm.pageNumber = val
|
||||
this.pageData()
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.pageNumber = 1
|
||||
this.pageData()
|
||||
},
|
||||
async getUnitList() {
|
||||
this.pageForm.unitid = ''
|
||||
this.unitList = await getUnit(this.pageForm.unionid)
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
smm: {
|
||||
handler(o) {
|
||||
let that = this
|
||||
if (o.status === 'table') {
|
||||
that.pageData()
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unionList = await getUnion()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user