commit
This commit is contained in:
@@ -1,236 +0,0 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.yearDatePickerItemLabel .el-select {
|
||||
background-color: #f5f7fa;
|
||||
color: #909399;
|
||||
}
|
||||
|
||||
.yearDatePickerItemLabel .el-input__inner {
|
||||
border-bottom-right-radius: unset;
|
||||
border-top-right-radius: unset;
|
||||
/*border-right: 0;*/
|
||||
}
|
||||
|
||||
.yearDatePickerItemOption .el-input__inner {
|
||||
border-bottom-left-radius: unset;
|
||||
border-top-left-radius: unset;
|
||||
border-left: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
|
||||
<el-card shadow="never">
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label yearDatePickerItemLabel" style="width: 150px;margin-right: 0">
|
||||
<el-select v-model="pageForm.yearType" placeholder="年度类型"
|
||||
style="width: 150px;">
|
||||
<el-option label="申报年度" value="sbyear"></el-option>
|
||||
<el-option label="结题年度" value="jtyear"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-item-option yearDatePickerItemOption"
|
||||
style="width: calc(100% - 160px);min-width:calc(100% - 160px)">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">项目名称:</div>
|
||||
<div class="search-item-option">
|
||||
<el-input v-model="pageForm.xmmc" placeholder="请输入项目名称查询" style="width: 100%;"></el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">申报人:</div>
|
||||
<div class="search-item-option">
|
||||
<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>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">院级工会:</div>
|
||||
<div class="search-item-option">
|
||||
<el-select v-model="pageForm.unionid" clearable filterable placeholder="请选择院级工会"
|
||||
@change="getUnitList()"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unionList"
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">单位:</div>
|
||||
<div class="search-item-option">
|
||||
<el-select v-model="pageForm.unitid" clearable filterable placeholder="请选择单位"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<slot name="search-group">
|
||||
<!--不同页面的查询条件自定义-->
|
||||
</slot>
|
||||
<div class="search-query">
|
||||
<el-button icon="el-icon-search" type="primary" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!--<template v-show="!hasNotghdwUrl.includes(request)">
|
||||
<div 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>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<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>
|
||||
</template>-->
|
||||
|
||||
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt10" shadow="never">
|
||||
<el-table :data="tableData" @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 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="ghname" 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>
|
||||
<el-table-column fixed="right" label="操作" width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini">查看</el-button>
|
||||
<!--# if(@shiro.hasRole('sysadmin')){ #-->
|
||||
<el-button @click="doDelete(row.id)" size="mini" type="danger">删除
|
||||
</el-button>
|
||||
<!--# } #-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-size="pageForm.pageSize"
|
||||
:total="pageForm.totalCount"
|
||||
@current-change="pageNumberChange"
|
||||
layout="total, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<template #view>
|
||||
<syr-info-new ref="viewInfo"></syr-info-new>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
<script>
|
||||
let vm = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
tableShow: true,
|
||||
pageForm: {
|
||||
searchName: 'u.username',
|
||||
searchKeyword: '',
|
||||
xmmc: '',
|
||||
unionid: '',
|
||||
unitid: '',
|
||||
year: new Date().getFullYear().toString(),
|
||||
yearType: 'sbyear'
|
||||
},
|
||||
tableData: [],
|
||||
xmid: '',
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'syr-info-new': httpVueLoader('/components/syr/SyrInfoNew.vue'),
|
||||
},
|
||||
methods: {
|
||||
async pageData() {
|
||||
const {data} = await $.post('/platform/syr/cxtj/dgncx/pageData', this.pageForm, true)
|
||||
this.tableData = data.list
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
},
|
||||
async openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.viewInfo.openView(row.id)
|
||||
},
|
||||
async getUnitList() {
|
||||
this.unitList = []
|
||||
this.pageForm.unitid = ''
|
||||
this.unitList = await getUnits(this.pageForm.unionid)
|
||||
},
|
||||
doDelete(id) {
|
||||
this.$confirm('是否确定删除?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(async () => {
|
||||
$.post('/platfotm/syr/info/mykt/doDelete', {id: id})
|
||||
this.doSearch()
|
||||
}).catch(() => {
|
||||
})
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unionList = await getUnions(null)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -1,197 +0,0 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.aa > div {
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
white-space: nowrap;
|
||||
margin: 5px;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never">
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">年份:</div>
|
||||
<el-date-picker style="width: 100%"
|
||||
clearable="false"
|
||||
placeholder="选择年份"
|
||||
type="year"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<el-input @keyup.enter.native="doSearch" placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<el-select placeholder="查询类型" slot="prepend" style="width: 120px;"
|
||||
v-model="pageForm.searchName">
|
||||
<el-option label="申报人姓名" value="u.username"></el-option>
|
||||
<el-option label="申报人工号" value="u.loginname"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">工会:</div>
|
||||
<div class="search-item-option">
|
||||
<el-select v-model="pageForm.unionid" clearable filterable placeholder="请选择院级工会"
|
||||
@change="getUnitList()"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unionList"
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">单位:</div>
|
||||
<div class="search-item-option">
|
||||
<el-select v-model="pageForm.unitid" clearable filterable placeholder="请选择单位"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<slot name="search-group">
|
||||
<!--不同页面的查询条件自定义-->
|
||||
</slot>
|
||||
<div class="search-query">
|
||||
<el-button icon="el-icon-search" type="primary" @click="doSearch"></el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</el-card>
|
||||
<el-card class="mt10" shadow="never">
|
||||
<vi-title2 title="优秀课题汇总">
|
||||
<template #func>
|
||||
<el-button @click="exportSummary" type="primary">
|
||||
<i aria-hidden="true" class="fa fa-file-word-o"></i>
|
||||
优秀课题汇总表
|
||||
</el-button>
|
||||
</template>
|
||||
</vi-title2>
|
||||
<el-table :data="tableData" @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 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="ghname" 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>
|
||||
<el-table-column fixed="right" label="操作" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-size="pageForm.pageSize"
|
||||
:total="pageForm.totalCount"
|
||||
@current-change="pageNumberChange"
|
||||
layout="total, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<template #view>
|
||||
<syr-info-new ref="viewInfo"></syr-info-new>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
<script>
|
||||
let vm = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
tableShow: true,
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
pageOrderName: '',
|
||||
pageOrderBy: '',
|
||||
searchName: 'u.username',
|
||||
searchKeyword: '',
|
||||
xmmc: '',
|
||||
unionid: '',
|
||||
unitid: '',
|
||||
year: ''
|
||||
},
|
||||
tableData: [],
|
||||
xmid: '',
|
||||
hasAdminRole:${@shiro.hasRole('sysadmin')}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'syr-info-new': httpVueLoader('/components/syr/SyrInfoNew.vue'),
|
||||
},
|
||||
methods: {
|
||||
async pageData() {
|
||||
const {data} = await $.post('/platform/syr/cxtj/goodkt/pageData', this.pageForm, true)
|
||||
this.tableData = 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 openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.viewInfo.openView(row.id)
|
||||
},
|
||||
async getUnitList() {
|
||||
this.unitList = []
|
||||
this.pageForm.unitid = ''
|
||||
this.unitList = await getUnits(this.pageForm.unionid)
|
||||
},
|
||||
exportSummary() {
|
||||
if (this.pageForm.year === '') {
|
||||
this.$message.info('请先选择年份!')
|
||||
return
|
||||
}
|
||||
window.location.href = '/platform/syr/cxtj/goodkt/exportSummary?year=' + this.pageForm.year
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unionList = await getUnions(null)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -1,262 +0,0 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.yearDatePickerItemLabel .el-select {
|
||||
background-color: #f5f7fa;
|
||||
color: #909399;
|
||||
}
|
||||
|
||||
.yearDatePickerItemLabel .el-input__inner {
|
||||
border-bottom-right-radius: unset;
|
||||
border-top-right-radius: unset;
|
||||
/*border-right: 0;*/
|
||||
}
|
||||
|
||||
.yearDatePickerItemOption .el-input__inner {
|
||||
border-bottom-left-radius: unset;
|
||||
border-top-left-radius: unset;
|
||||
border-left: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
|
||||
<el-card shadow="never">
|
||||
<div class="search">
|
||||
<div class="search-item">
|
||||
<div class="search-item-label yearDatePickerItemLabel" style="width: 150px;margin-right: 0">
|
||||
<el-select v-model="pageForm.yearType" placeholder="年度类型"
|
||||
style="width: 150px;">
|
||||
<el-option label="申报年度" value="sbyear"></el-option>
|
||||
<!-- <el-option label="结题年度" value="jtyear"></el-option>-->
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-item-option yearDatePickerItemOption"
|
||||
style="width: calc(100% - 160px);min-width:calc(100% - 160px)">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="pageForm.year"
|
||||
type="year"
|
||||
value-format="yyyy">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">项目名称:</div>
|
||||
<div class="search-item-option">
|
||||
<el-input v-model="pageForm.xmmc" placeholder="请输入项目名称查询" style="width: 100%;"></el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">申报人:</div>
|
||||
<div class="search-item-option">
|
||||
<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>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">院级工会:</div>
|
||||
<div class="search-item-option">
|
||||
<el-select v-model="pageForm.unionid" clearable filterable placeholder="请选择院级工会"
|
||||
@change="getUnitList()"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unionList"
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">单位:</div>
|
||||
<div class="search-item-option">
|
||||
<el-select v-model="pageForm.unitid" clearable filterable placeholder="请选择单位"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in unitList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<slot name="search-group">
|
||||
<!--不同页面的查询条件自定义-->
|
||||
</slot>
|
||||
<div class="search-query">
|
||||
<el-button icon="el-icon-search" type="primary" @click="doSearch"></el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!--<template v-show="!hasNotghdwUrl.includes(request)">
|
||||
<div 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>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<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>
|
||||
</template>-->
|
||||
|
||||
|
||||
</el-card>
|
||||
|
||||
|
||||
<el-card class="mt10" shadow="never">
|
||||
<vi-title2 title="立项汇总">
|
||||
<template #func>
|
||||
<el-button @click="exportLxhz" size="small" type="primary">导出立项申报汇总表</el-button>
|
||||
<el-button @click="exportLxpshz" size="small" type="primary">导出立项评审汇总表</el-button>
|
||||
<el-button @click="exportJtpshz" size="small" type="primary">导出结题评审汇总表</el-button>
|
||||
<el-button @click="exportGoodProject" size="small" type="primary">导出结题汇总表</el-button>
|
||||
</template>
|
||||
</vi-title2>
|
||||
<el-table :data="tableData" @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 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="ghname" 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>
|
||||
<el-table-column fixed="right" label="操作" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-size="pageForm.pageSize"
|
||||
:total="pageForm.totalCount"
|
||||
@current-change="pageNumberChange"
|
||||
layout="total, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
||||
<template #view>
|
||||
<syr-info-new ref="viewInfo"></syr-info-new>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
<script>
|
||||
let vm = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
tableShow: true,
|
||||
pageForm: {
|
||||
searchName: 'u.username',
|
||||
searchKeyword: '',
|
||||
xmmc: '',
|
||||
unionid: '',
|
||||
unitid: '',
|
||||
year: new Date().getFullYear().toString(),
|
||||
yearType: 'sbyear'
|
||||
},
|
||||
tableData: [],
|
||||
xmid: '',
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'syr-info-new': httpVueLoader('/components/syr/SyrInfoNew.vue'),
|
||||
},
|
||||
methods: {
|
||||
async pageData() {
|
||||
const {data} = await $.post('/platform/syr/cxtj/dgncx/pageData', this.pageForm, true)
|
||||
this.tableData = data.list
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
},
|
||||
async openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.viewInfo.openView(row.id)
|
||||
},
|
||||
async getUnitList() {
|
||||
this.unitList = []
|
||||
this.pageForm.unitid = ''
|
||||
this.unitList = await getUnits(this.pageForm.unionid)
|
||||
},
|
||||
exportLxhz() {
|
||||
const {year} = this.pageForm
|
||||
if (!year) {
|
||||
this.notifyWarning('请先选择年度')
|
||||
return
|
||||
}
|
||||
window.open(loc() + '/export?year=' + year)
|
||||
},
|
||||
exportLxpshz() {
|
||||
const {year} = this.pageForm
|
||||
if (!year) {
|
||||
this.notifyWarning('请先选择年度')
|
||||
return
|
||||
}
|
||||
window.open(loc() + '/exportLxpshz?year=' + year)
|
||||
},
|
||||
exportJtpshz() {
|
||||
const {year} = this.pageForm
|
||||
if (!year) {
|
||||
this.notifyWarning('请先选择年度')
|
||||
return
|
||||
}
|
||||
window.open(loc() + '/exportJtpshz?year=' + year)
|
||||
},
|
||||
exportGoodProject() {
|
||||
const {year} = this.pageForm
|
||||
if (!year) {
|
||||
this.notifyWarning('请先选择年度')
|
||||
return
|
||||
}
|
||||
window.open(loc() + '/exportGoodProject?year=' + year)
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unionList = await getUnions(null)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -1,170 +0,0 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.nav-card .el-card__body {
|
||||
padding: 5px !important;
|
||||
}
|
||||
</style>
|
||||
<script src="https://cdn.jsdelivr.net/npm/echarts@4.1.0/dist/echarts.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@4.0.2"></script>
|
||||
<div id="app">
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never">
|
||||
<div class="btn-group tool-button mt5" style="width: 100%">
|
||||
<el-date-picker
|
||||
clearable="false"
|
||||
placeholder="选择年份"
|
||||
type="year"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy">
|
||||
</el-date-picker>
|
||||
<el-button @click="doSearch" icon="el-icon-search" type="primary"></el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt10" shadow="never">
|
||||
<div ref="Dpie" id="Dpie" class="echarts" style="width: 100%; height: 300px"></div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt10" shadow="never">
|
||||
<el-row class="pl5 pr5">
|
||||
<el-table :data="tableData">
|
||||
<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 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="ghname" 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>
|
||||
<el-table-column fixed="right" label="操作">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row class="el-pagination-container">
|
||||
<el-pagination
|
||||
:current-page="pageForm.pageNumber"
|
||||
:page-size="pageForm.pageSize"
|
||||
:total="pageForm.totalCount"
|
||||
@current-change="pageNumberChange"
|
||||
layout="total, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<template #view>
|
||||
<syr-info-new ref="viewInfo"></syr-info-new>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
statePlotData: [],
|
||||
tableData: [],
|
||||
pageForm: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
totalCount: 0,
|
||||
state: null,
|
||||
year: ''
|
||||
},
|
||||
dataList: [],
|
||||
stateOptions: {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
||||
},
|
||||
legend: {
|
||||
orient: 'vertical',
|
||||
left: 'left',
|
||||
data: []
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '状态',
|
||||
type: 'pie',
|
||||
radius: '55%',
|
||||
center: ['50%', '60%'],
|
||||
data: [],
|
||||
emphasis: {
|
||||
itemStyle: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'syr-info-new': httpVueLoader('/components/syr/SyrInfoNew.vue'),
|
||||
},
|
||||
methods: {
|
||||
async initStatePlot() {
|
||||
const {data} = await $.get('/platform/syr/cxtj/statetj/statePlotData', {year: this.pageForm.year})
|
||||
this.dataList = data
|
||||
let legendData = []
|
||||
for (let o of data) {
|
||||
legendData.push(o.name)
|
||||
}
|
||||
this.stateOptions.legend.data = legendData
|
||||
this.stateOptions.series[0].data = data
|
||||
|
||||
var myChart = echarts.init(document.getElementById('Dpie'));
|
||||
myChart.setOption(this.stateOptions)
|
||||
},
|
||||
stateClick(e) {
|
||||
let stateObj = this.dataList.find(o => {
|
||||
return o.name === e.data.name
|
||||
})
|
||||
this.pageForm.state = stateObj.id
|
||||
this.pageData()
|
||||
},
|
||||
async pageData() {
|
||||
const {data} = await $.post('/platform/syr/cxtj/statetj/pageData', this.pageForm, true)
|
||||
this.tableData = data.list
|
||||
this.pageForm.totalCount = data.totalCount
|
||||
},
|
||||
pageNumberChange(val) {
|
||||
this.pageForm.pageNumber = val
|
||||
this.pageData()
|
||||
},
|
||||
doSearch() {
|
||||
this.pageForm.state = null
|
||||
this.pageData()
|
||||
this.initStatePlot()
|
||||
},
|
||||
async openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.viewInfo.openView(row.id)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.initStatePlot()
|
||||
},
|
||||
created() {
|
||||
this.pageForm.year = moment().format('YYYY')
|
||||
this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -1,164 +0,0 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<script src="https://cdn.jsdelivr.net/npm/echarts@4.1.0/dist/echarts.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@4.0.2"></script>
|
||||
<style>
|
||||
/*.el-card__body{*/
|
||||
/* height: 100%;*/
|
||||
/*}*/
|
||||
.echarts {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak class="p10">
|
||||
<el-card>
|
||||
<v-chart style="width: 100%;height: 800px" theme="mine" :options="yearOptions2"></v-chart>
|
||||
</el-card>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
|
||||
let vm = new Vue({
|
||||
el:'#app',
|
||||
data(){
|
||||
return{
|
||||
yearOptions2:{
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
||||
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['结题优秀','结题通过','立项','总申报']
|
||||
},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '15%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: []
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '结题优秀',
|
||||
type: 'bar',
|
||||
stack: '结题优秀数',
|
||||
label: {
|
||||
show: true,
|
||||
position: 'insideRight'
|
||||
},
|
||||
data: []
|
||||
},
|
||||
{
|
||||
name: '结题通过',
|
||||
type: 'bar',
|
||||
stack: '结题通过数',
|
||||
label: {
|
||||
show: true,
|
||||
position: 'insideRight'
|
||||
},
|
||||
data: []
|
||||
},
|
||||
{
|
||||
name: '立项',
|
||||
type: 'bar',
|
||||
stack: '立项数',
|
||||
label: {
|
||||
show: true,
|
||||
position: 'insideRight'
|
||||
},
|
||||
data: []
|
||||
},
|
||||
{
|
||||
name: '总申报',
|
||||
type: 'bar',
|
||||
stack: '总申报数',
|
||||
label: {
|
||||
show: true,
|
||||
position: 'insideRight'
|
||||
},
|
||||
data: []
|
||||
}
|
||||
]
|
||||
},
|
||||
unionList:[],
|
||||
yearList:[],
|
||||
dataList:[]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
dataFormatter(year){
|
||||
let o = {}
|
||||
let totalArr = []
|
||||
for (let y of this.yearList){
|
||||
for (let d of this.dataList[y]){
|
||||
const v = {name:d.unionname,value:d.totalnum}
|
||||
totalArr.push(v)
|
||||
}
|
||||
}
|
||||
o.total = totalArr
|
||||
let lxArr = []
|
||||
for (let y of this.yearList){
|
||||
for (let d of this.dataList[y]){
|
||||
const v = {name:d.unionname,value:d.lxnum}
|
||||
lxArr.push(v)
|
||||
}
|
||||
}
|
||||
o.lx = lxArr
|
||||
let passArr = []
|
||||
for (let y of this.yearList){
|
||||
for (let d of this.dataList[y]){
|
||||
const v = {name:d.unionname,value:d.passnum}
|
||||
passArr.push(v)
|
||||
}
|
||||
}
|
||||
o.pass = passArr
|
||||
let goodArr = []
|
||||
for (let y of this.yearList){
|
||||
for (let d of this.dataList[y]){
|
||||
const v = {name:d.unionname,value:d.goodnum}
|
||||
goodArr.push(v)
|
||||
}
|
||||
}
|
||||
o.good = goodArr
|
||||
console.log(o)
|
||||
return o
|
||||
},
|
||||
async getUnionList(){
|
||||
const {data} = await $.get('/platform/syr/cxtj/yeartj/getUnionList',{})
|
||||
for (let o of data){
|
||||
this.unionList.push(o.unionname)
|
||||
}
|
||||
},
|
||||
async getDataList(){
|
||||
const {data} = await $.get('/platform/syr/cxtj/yeartj/data',{})
|
||||
this.yearList = Object.keys(data)
|
||||
this.dataList = data
|
||||
},
|
||||
async inita(){
|
||||
this.yearOptions2.yAxis.data = this.unionList
|
||||
this.yearOptions2.series[0].data = this.dataFormatter(2020).good
|
||||
this.yearOptions2.series[1].data = this.dataFormatter(2020).pass
|
||||
this.yearOptions2.series[2].data = this.dataFormatter(2020).lx
|
||||
this.yearOptions2.series[3].data = this.dataFormatter(2020).total
|
||||
}
|
||||
},
|
||||
async created(){
|
||||
await this.getUnionList()
|
||||
await this.getDataList()
|
||||
await this.inita()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user