This commit is contained in:
Paidax
2024-11-29 09:03:59 +08:00
commit 2ffadd89a7
3480 changed files with 879405 additions and 0 deletions
@@ -0,0 +1,262 @@
<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>