263 lines
9.0 KiB
Vue
263 lines
9.0 KiB
Vue
<template>
|
||
<div>
|
||
<el-card shadow="never">
|
||
<div class="search">
|
||
<div class="search-item">
|
||
<div class="search-item-label yearDatePickerItemLabel" style="width: 100%;margin-right: 0">
|
||
<el-select v-model="yeartype" placeholder="年度类型"
|
||
style="width: 100%">
|
||
<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="page.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="page.xmmc" clearable placeholder="请输入项目名称查询" style="width: 100%;" @keyup.enter.native="doSearch"></el-input>
|
||
</div>
|
||
</div>
|
||
<div class="search-item">
|
||
<div class="search-item-label">申报人:</div>
|
||
<div class="search-item-option">
|
||
<el-input v-model="page.searchKeyword" clearable placeholder="请输入内容" @keyup.enter.native="doSearch">
|
||
<el-select slot="prepend" v-model="page.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" v-show="!hasNotghdwUrl.includes(request)">
|
||
<div class="search-item-label">院级工会:</div>
|
||
<div class="search-item-option">
|
||
<el-select v-model="page.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" v-show="!hasNotghdwUrl.includes(request)">
|
||
<div class="search-item-label">单位:</div>
|
||
<div class="search-item-option">
|
||
<el-select v-model="page.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="page.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="page.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>
|
||
<div v-if="!isshow" class="pull-right offscreen-right mt5">
|
||
<el-radio-group v-model="page.isAudit" class="mr10" @change="doSearch" size="small">
|
||
<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>
|
||
</template>
|
||
</vi-title2>
|
||
<el-table :data="data" @sort-change='pageOrder'>
|
||
<el-table-column align="center" header-align="center" label="序号" type="index">
|
||
<template scope="scope">
|
||
<span>{{ scope.$index + (page.pageNumber - 1) * page.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" sortable width="100"></el-table-column>
|
||
<el-table-column label="申报单位" prop="dwname" show-overflow-tooltip sortable width="150"></el-table-column>
|
||
<el-table-column label="院级工会" prop="ghname" show-overflow-tooltip sortable width="150"></el-table-column>
|
||
<!-- <el-table-column label="职务职称" prop="zwzc" show-overflow-tooltip sortable width="100"></el-table-column>-->
|
||
|
||
<el-table-column label="立项资助金额(元)" prop="lxlevel" width="150"></el-table-column>
|
||
|
||
<el-table-column label="状态" prop="statename" sortable sortable width="200"></el-table-column>
|
||
<el-table-column label="申报日期" prop="sbrq" sortable sortable width="100"></el-table-column>
|
||
<slot name="operation"></slot>
|
||
</el-table>
|
||
<el-row class="el-pagination-container">
|
||
<el-pagination
|
||
:current-page="page.pageNumber"
|
||
:page-size="page.pageSize"
|
||
:total="page.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: [],
|
||
page: {
|
||
yearType: 'sbyear',
|
||
year: moment().format('YYYY'),
|
||
isAudit: false,
|
||
pageNumber: 1,
|
||
pageSize: 10,
|
||
totalCount: 0,
|
||
pageOrderName: '',
|
||
pageOrderBy: '',
|
||
searchName: 'u.username',
|
||
searchKeyword: '',
|
||
xmmc: '',
|
||
unitid: '',
|
||
unionid: ''
|
||
}
|
||
}
|
||
},
|
||
props: {
|
||
yeartype: {
|
||
type: String,
|
||
default: 'sbyear'
|
||
},
|
||
smm: {
|
||
type: 'Object',
|
||
default: () => {
|
||
return {
|
||
status: '',
|
||
request: '',
|
||
rowsel: false,
|
||
}
|
||
}
|
||
},
|
||
request: {
|
||
type: String
|
||
},
|
||
auditval: {
|
||
type: String
|
||
},
|
||
isshow: {
|
||
type: Boolean
|
||
}
|
||
},
|
||
methods: {
|
||
async pageData() {
|
||
this.page.yearType = this.yeartype
|
||
const {data} = await $.post(base + this.request, this.page, true)
|
||
this.data = data.list
|
||
this.page.totalCount = data.totalCount
|
||
},
|
||
pageOrder(column) {
|
||
this.page.pageOrderName = column.prop
|
||
this.page.pageOrderBy = column.order
|
||
this.pageData()
|
||
},
|
||
pageNumberChange(val) {
|
||
this.page.pageNumber = val
|
||
this.pageData()
|
||
},
|
||
doSearch() {
|
||
this.page.pageNumber = 1
|
||
this.pageData()
|
||
},
|
||
async getUnitList() {
|
||
this.page.unitid = ''
|
||
this.unitList = await getUnits(this.page.unionid)
|
||
}
|
||
},
|
||
watch: {
|
||
smm: {
|
||
handler(o) {
|
||
let that = this
|
||
if (o.status === 'table') {
|
||
that.pageData()
|
||
}
|
||
},
|
||
deep: true,
|
||
immediate: true
|
||
}
|
||
},
|
||
async created() {
|
||
await this.pageData()
|
||
this.unionList = await getUnions(null)
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.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>
|