市北互联平台前端仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

352 lines
9.3 KiB

<template>
<!-- <el-card shadow="never" class="aui-card--fill"> -->
<div class="mod-rent__rentDeath resi-container">
<el-card ref="searchCard" class="search-card">
<el-form
:inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()"
label-width="100px"
>
<el-form-item prop="mySelectOrg" label="所属党组织">
<el-cascader
class="list_item_width_1"
v-model="mySelectOrg"
size="small"
:options="orgList"
placeholder="请选择党组织"
:props="{
checkStrictly: true,
label: 'partyOrgName',
value: 'id',
children: 'children'
}"
@change="handleChangeOrg"
clearable
/>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input
v-model="dataForm.name"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入姓名"
>
</el-input>
</el-form-item>
<el-form-item label="手机" prop="mobile">
<el-input
v-model="dataForm.mobile"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入手机"
>
</el-input>
</el-form-item>
<el-form-item label="身份证" prop="idCard">
<el-input
v-model="dataForm.idCard"
size="small"
class="list_item_width_1"
clearable
placeholder="请输入身份证"
>
</el-input>
</el-form-item>
<br />
<el-form-item label="评分年度" prop="year">
<el-date-picker
class="list_item_width_1"
v-model="dataForm.year"
type="year"
size="small"
placeholder="选择年"
value-format="yyyy"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
class="diy-button--search"
@click="getDataList()"
size="small"
>{{ $t('query') }}</el-button
>
</el-form-item>
<el-form-item>
<el-button class="diy-button--reset" size="small" @click="resetForm"
>重置</el-button
>
</el-form-item>
</el-form>
</el-card>
<el-card class="resi-card-table">
<el-table
class="resi-table"
v-loading="dataListLoading"
:data="dataList"
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%"
:height="tableHeight"
>
<!--<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>-->
<el-table-column
label="序号"
header-align="center"
align="center"
width="50px"
>
<template slot-scope="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column
prop="year"
label="年度"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="partyOrg"
label="所属党组织"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="name"
label="姓名"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="idCard"
label="身份证"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="mobile"
label="手机号"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="totalScore"
label="总分"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="basePoint"
label="基础积分分值"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="reviewPoint"
label="民主评议积分分值"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="inspirePoint"
label="激励积分分值"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="warnPoint"
label="警示扣分分值"
header-align="center"
align="center"
></el-table-column>
<el-table-column
prop="remark"
label="备注"
header-align="center"
align="center"
></el-table-column>
</el-table>
<el-pagination
:current-page="page"
:page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle"
>
</el-pagination>
</el-card>
</div>
<!-- </el-card> -->
</template>
<script>
import viewPost from '@/mixins/view-post'
import { mapGetters } from 'vuex'
export default {
mixins: [viewPost],
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/resi/partymember/icPartyMemberPoint/getList',
getDataListIsPage: true
},
mySelectOrg: '',
orgList: [],
searchH: 0,
dataForm: {
id: '',
orgId: '',
name: '',
idCard: '',
mobile: '',
year: ''
}
}
},
computed: {
...mapGetters(['clientHeight', 'iframeHeight']),
tableHeight() {
const h = this.clientHeight - this.searchH - 230 + this.iframeHeigh
const _h = this.clientHeight - 230 - this.searchH
return this.$store.state.inIframe ? h : _h
}
},
created() {
this.getOrgList()
},
mounted() {
this.$nextTick(() => {
this.searchH = this.$refs.searchCard.$el.offsetHeight
console.log('tableHeight', this.tableHeight)
})
},
methods: {
resetForm(formName) {
for (const n in this.dataForm) {
this.dataForm[n] = ''
}
this.getDataList()
this.mySelectOrg = ''
},
handleSizeChange(val) {
console.log(`每页 ${val}`)
this.pageSize = val
this.getDataList()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`)
this.currentPage = val
this.getDataList()
},
deepArrTOnull(arr) {
let a = []
a = arr.map(item => {
return {
...item,
children: (item.children.length > 0 && this.deepArrTOnull(item.children) )|| null
}
})
return a
},
// 获取党组织列表
getOrgList() {
return this.$http
.get('/resi/partymember/icPartyOrg/getSearchTreelist', {
params: { agencyId: localStorage.getItem('agencyId') }
})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.orgList = this.deepArrTOnull(res.data)
})
.catch(() => {})
},
// 党组织选中事件
handleChangeOrg(e) {
if (this.mySelectOrg.length > 0 && this.mySelectOrg) {
this.dataForm.orgId = this.mySelectOrg[this.mySelectOrg.length - 1]
} else {
this.dataForm.orgId = ''
}
}
}
}
</script>
<style lang="scss" scoped>
@import '@/assets/scss/buttonstyle.scss';
.resi-container .resi-card-table {
::v-deep .el-table th {
color: #fff;
background-color: rgba(33, 149, 254, 1);
// border-right: 1px solid rgba(33, 149, 254, 1);
}
}
.resi-table {
::v-deep .el-button--text {
text-decoration: underline;
}
::v-deep .btn-color-del {
margin-left: 10px;
color: rgba(213, 16, 16, 1);
}
::v-deep .btn-color-edit {
color: rgba(0, 167, 169, 1);
}
}
.form-wr {
.input-width {
width: 260px;
}
.input-width-textarea {
width: 500px;
}
.imsg-list {
display: flex;
align-items: center;
.imgs-item {
position: relative;
margin-right: 10px;
.el-icon-delete {
position: absolute;
top: 0;
right: 0;
font-size: 18px;
color: red;
z-index: 3;
cursor: pointer;
}
}
}
}
.div-content {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.resi-row-btn {
display: flex;
margin-bottom: 13px;
.el-button {
margin-left: 10px;
border: 0;
}
// .el-button--success {
// background: rgba(34, 193, 195, 1);
// }
// .el-button--warning {
// background: rgba(254, 179, 73, 1);
// }
// .el-button--danger {
// background: rgba(254, 98, 82, 1);
// }
}
</style>