[add 委员会] 新增委员会信息、委员信息的列表页和详情页
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
@@ -1,8 +1,8 @@
|
||||
@font-face {
|
||||
font-family: "anticon-jeecg"; /* Project id 2798517 */
|
||||
src: url('iconfont.woff2?t=1705570227820') format('woff2'),
|
||||
url('iconfont.woff?t=1705570227820') format('woff'),
|
||||
url('iconfont.ttf?t=1705570227820') format('truetype');
|
||||
src: url('iconfont.woff2?t=1717644876199') format('woff2'),
|
||||
url('iconfont.woff?t=1717644876199') format('woff'),
|
||||
url('iconfont.ttf?t=1717644876199') format('truetype');
|
||||
}
|
||||
|
||||
.anticon-jeecg {
|
||||
@@ -13,6 +13,10 @@
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.anticonyinzhang:before {
|
||||
content: "\e785";
|
||||
}
|
||||
|
||||
.anticondraftgroup:before {
|
||||
content: "\e65e";
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -5,6 +5,13 @@
|
||||
"css_prefix_text": "anticon",
|
||||
"description": "",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "39837879",
|
||||
"name": "cus_tc",
|
||||
"font_class": "yinzhang",
|
||||
"unicode": "e785",
|
||||
"unicode_decimal": 59269
|
||||
},
|
||||
{
|
||||
"icon_id": "3009589",
|
||||
"name": "cus_draftgroup",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,142 @@
|
||||
<template>
|
||||
<a-spin :spinning="loading">
|
||||
<page-header-title :img-for-icon="IconImg" :is-level-one="false" :level-two-title="title"></page-header-title>
|
||||
<a-card :bordered="false" class="description-box">
|
||||
<a-descriptions bordered size="middle" class="description-item" :class="{'description-item-close': !section.isOpen}" v-for="section in sectionList" :key="section.id" :column="section.column">
|
||||
<div slot="title" class="description-head">
|
||||
<div class="description-head-title">{{ section.title }}</div>
|
||||
<div class="description-head-btn" @click="section.isOpen = !section.isOpen">
|
||||
<a-icon :type="section.isOpen ? 'up' : 'down'" style="margin-right: 4px;" /> {{ section.isOpen ? '收起' : '展开' }}
|
||||
</div>
|
||||
</div>
|
||||
<a-descriptions-item v-for="label in section.labelList" :key="label.label"
|
||||
:span="label.span ? label.span : 1"
|
||||
:label="label.label">{{ model[label.valueField] }}</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
</a-card>
|
||||
</a-spin>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@assets/imgs/icon/icon_committee_detail.png'
|
||||
import {getAction} from '@api/manage'
|
||||
export default {
|
||||
name: 'CommitteeInfoDetail',
|
||||
components: {PageHeaderTitle},
|
||||
data () {
|
||||
return {
|
||||
IconImg,
|
||||
title: this.$route.meta.title,
|
||||
loading: true,
|
||||
model: {},
|
||||
// 内容块列表(column列数 一行显示几个字段,配合labelList[].span占用几列使用)
|
||||
sectionList: [
|
||||
{
|
||||
id: '1',
|
||||
title: '委员会基础信息',
|
||||
isOpen: true,
|
||||
column: 2,
|
||||
labelList: [
|
||||
{ label: '委员会名称', valueField: 'committeeName', span: 2 },
|
||||
{ label: '英文名称', valueField: 'englishName', span: 2 },
|
||||
{ label: 'TC|SC号', valueField: 'committeeName', span: 2 },
|
||||
{ label: '负责专业范围', valueField: 'responsibleForProfessionalScope', span: 2 },
|
||||
{ label: '届号', valueField: 'whatIsTheCurrentSession' },
|
||||
{ label: '第一届成立年代', valueField: 'establishmentYear' },
|
||||
{ label: '第一届成立时间', valueField: 'firstEstablishmentDate' },
|
||||
{ label: '第一届成立文号', valueField: 'establishmentNumber' },
|
||||
{ label: '本届批准文号编号', valueField: 'approvalNumberForThisSession' },
|
||||
{ label: '本届批准时间', valueField: 'approvalTimeForThisSession' },
|
||||
{ label: '筹建单位', valueField: 'preparationUnit', span: 2 },
|
||||
{ label: '业务指导单位', valueField: 'businessGuidanceUnit', span: 2 },
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
title: '秘书处信息信息',
|
||||
isOpen: true,
|
||||
column: 2,
|
||||
labelList: [
|
||||
{ label: '秘书处所在单位', valueField: 'theUnitToWhichOneBelongs' },
|
||||
{ label: '秘书长', valueField: 'secretaryGeneral' },
|
||||
{ label: '所在单位性质', valueField: 'unitNature', span: 2 },
|
||||
{ label: '所在单位的社会统一信用代码(或组织机构代码)', valueField: 'orgCode', span: 2 },
|
||||
{ label: '所在单位的省份', valueField: 'province' },
|
||||
{ label: '所在单位的城市', valueField: 'city' },
|
||||
{ label: '通讯地址', valueField: 'secretariatMailingAddress', span: 2 },
|
||||
{ label: '办公电话', valueField: 'telephone' },
|
||||
{ label: '传真', valueField: 'facsimile' },
|
||||
{ label: '电子邮箱', valueField: 'email' },
|
||||
{ label: '邮编', valueField: 'zipCode' },
|
||||
{ label: '联系人', valueField: 'contacts', span: 2 },
|
||||
{ label: '联系人办公电话', valueField: 'contactPhoneNumber' },
|
||||
{ label: '联系人传真', valueField: 'contactFax' },
|
||||
{ label: '联系人电子邮箱', valueField: 'contactEmail' },
|
||||
{ label: '联系人手机', valueField: 'cellPhone' },
|
||||
]
|
||||
},
|
||||
|
||||
]
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.model.id = this.$route.query.id
|
||||
this.loadData()
|
||||
},
|
||||
methods: {
|
||||
loadData () {
|
||||
this.loading = true
|
||||
getAction('/PayCommitteeInfo/queryById', {id: this.model.id}).then(res => {
|
||||
if (res.success) {
|
||||
this.model = res.result
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.description-box {
|
||||
/deep/ .ant-descriptions-view {
|
||||
border-radius: 0;
|
||||
}
|
||||
// 字段列的宽度
|
||||
/deep/ .ant-descriptions-item-label {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
// 一块的头部样式
|
||||
/deep/ .ant-descriptions-title {
|
||||
margin-bottom: 0;
|
||||
background-color: #E6F5F5;
|
||||
padding: 12px 24px;
|
||||
color: @primary-color;
|
||||
}
|
||||
.description-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.description-head-btn {
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.description-item {
|
||||
margin-bottom: 20px;
|
||||
|
||||
&.description-item-close /deep/ .ant-descriptions-view {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,215 @@
|
||||
<template>
|
||||
<div>
|
||||
<page-header-title :img-for-icon="IconImg"></page-header-title>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域-start -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
<a-input placeholder="请输入委员会名称" v-model="queryParam.committeeName" :maxLength='50' allowClear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
<a-input placeholder="TC/SC号" v-model="queryParam.committeeNumber" :maxLength='50' allowClear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span class="table-page-search-submitButtons">
|
||||
<a-button type="primary" icon="search" @click="searchQuery" v-has="'company:search'">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- /查询区域-end-->
|
||||
|
||||
<!-- table表格区域-->
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:scroll="{x: 1300}"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<!-- 跳转详情 -->
|
||||
<template slot="detail" slot-scope="text, record">
|
||||
<j-ellipsis :value="text" :length="20" @click="handleDetail(record)" class="can-click"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<!-- 跳转委员信息 -->
|
||||
<template slot="memberNumber" slot-scope="text, record">
|
||||
<j-ellipsis :value="text" :length="20" @click="handleMember(record)" class="can-click"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<a-tooltip overlay-class-name="tooltip-style">
|
||||
<template slot="title">{{ text || text === 0 ? text : '' }}</template>
|
||||
<div class="table-text">{{ text || text === 0 ? text : '' }}</div>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
|
||||
</a-table>
|
||||
</div>
|
||||
<!-- /table表格区域-->
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_organizational_manage.png'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
export default {
|
||||
name: 'CommitteeInfoList',
|
||||
components: {PageHeaderTitle},
|
||||
mixins: [JeroListMixin],
|
||||
data () {
|
||||
return {
|
||||
isorter: null,
|
||||
IconImg,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 10 }
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'TC号',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'committeeNumber',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '委员会名称',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'committeeName',
|
||||
scopedSlots: { customRender: 'detail' }
|
||||
},
|
||||
{
|
||||
title: '秘书处承担单位',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'theUnitToWhichOneBelongs',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '业务指导单位',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'businessGuidanceUnit',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '专业范围',
|
||||
align: 'center',
|
||||
width: 280,
|
||||
dataIndex: 'responsibleForProfessionalScope',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '秘书长',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'secretaryGeneral',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '办公电话',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'telephone',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '电子邮箱',
|
||||
align: 'center',
|
||||
width: 200,
|
||||
dataIndex: 'email',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '本届批准文号',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'approvalNumberForThisSession',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '委员数量',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'memberNumber',
|
||||
scopedSlots: { customRender: 'memberNumber' }
|
||||
},
|
||||
],
|
||||
url: {
|
||||
list: '/PayCommitteeInfo/page'
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 跳转详情
|
||||
handleDetail (record) {
|
||||
this.$router.push({
|
||||
path: '/organizationalManage/committeeDetail',
|
||||
query: {
|
||||
id: record.id
|
||||
}
|
||||
})
|
||||
},
|
||||
// 跳转委员信息页面
|
||||
handleMember (record) {
|
||||
this.$router.push({
|
||||
path: '/organizationalManage/committeeMemberInfo',
|
||||
query: {
|
||||
committeeNumber: record.committeeNumber
|
||||
}
|
||||
})
|
||||
},
|
||||
handleTableChange(pagination) {
|
||||
//分页、排序、筛选变化时触发
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.can-click {
|
||||
cursor: pointer;
|
||||
color: @primary-color;
|
||||
}
|
||||
.table-text {
|
||||
white-space: nowrap;
|
||||
word-break: break-all;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,187 @@
|
||||
<template>
|
||||
<a-spin :spinning="loading">
|
||||
<page-header-title :img-for-icon="IconImg" :is-level-one="false" :level-two-title="title"></page-header-title>
|
||||
<a-card :bordered="false" class="description-box" ref="descriptionBox">
|
||||
<a-descriptions bordered size="middle" class="description-item" :class="{'description-item-close': !section.isOpen}" v-for="section in sectionList" :key="section.id" :column="section.column">
|
||||
<div slot="title" class="description-head">
|
||||
<div class="description-head-title">{{ section.title }}</div>
|
||||
<div class="description-head-btn" @click="section.isOpen = !section.isOpen">
|
||||
<a-icon :type="section.isOpen ? 'up' : 'down'" style="margin-right: 4px;" /> {{ section.isOpen ? '收起' : '展开' }}
|
||||
</div>
|
||||
</div>
|
||||
<a-descriptions-item v-for="(label, index) in section.labelList" :key="label.label || index"
|
||||
:span="label.span ? label.span : 1"
|
||||
:abc.prop="2"
|
||||
:class="{'descriptions-item-none': label.type === 'none'}"
|
||||
:label="label.label">
|
||||
<template v-if="!label.type">{{ model[label.valueField] }}</template>
|
||||
<template v-else-if="label.type === 'img'">
|
||||
<img :src="getImgUrl(model[label.valueField])" alt="" class="descriptions-item-content-img">
|
||||
</template>
|
||||
</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
</a-card>
|
||||
</a-spin>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@assets/imgs/icon/icon_committee_detail.png'
|
||||
import {getAction, getFileAccessHttpUrl} from '@api/manage'
|
||||
export default {
|
||||
name: 'CommitteeMemberInfoDetail',
|
||||
components: {PageHeaderTitle},
|
||||
data () {
|
||||
return {
|
||||
IconImg,
|
||||
title: this.$route.meta.title,
|
||||
loading: true,
|
||||
model: {},
|
||||
// 内容块列表(column列数 一行显示几个字段,配合labelList[].span占用几列使用)
|
||||
sectionList: [
|
||||
{
|
||||
id: '1',
|
||||
title: '基本信息',
|
||||
isOpen: true,
|
||||
column: 2,
|
||||
labelList: [
|
||||
{ label: '个人照片', valueField: 'photo', type: 'img' },
|
||||
{ label: '姓名', valueField: 'name' },
|
||||
{ label: '', valueField: '', type: 'none' }, // 为了个人照片跨三列空出来,配合样式display:none隐藏
|
||||
{ label: '性别', valueField: 'gender' },
|
||||
{ label: '', valueField: '', type: 'none' }, // 为了个人照片跨三列空出来,配合样式display:none隐藏
|
||||
{ label: '出生年月', valueField: 'birthDate' },
|
||||
{ label: '民族', valueField: 'nation' },
|
||||
{ label: '政治面貌', valueField: 'politicalLandscape' },
|
||||
{ label: '身份证', valueField: 'identificationNumber' },
|
||||
{ label: '委员会职务', valueField: 'positionOfStandardsCommittee' },
|
||||
{ label: '委员会编号', valueField: 'committeeNumber' },
|
||||
{ label: '委员会聘书编号', valueField: 'appointmentLetterNumber' },
|
||||
{ label: '聘书有效期', valueField: 'validityPeriodOfEmploymentLetter' },
|
||||
{ label: '加入标委会时间', valueField: 'committeeParticipationTime' },
|
||||
{ label: '行政职务', valueField: 'administrativePosition' },
|
||||
{ label: '从事专业', valueField: 'engagedInProfession' },
|
||||
{ label: '技术职称', valueField: 'technicalTitle' },
|
||||
{ label: '职称级别', valueField: 'titleLevel' },
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
title: '工作单位信息',
|
||||
isOpen: true,
|
||||
column: 2,
|
||||
labelList: [
|
||||
{ label: '工作单位', valueField: 'workUnit' },
|
||||
{ label: '单位统一社会信用代码(或组织机构代码)', valueField: 'orgCode' },
|
||||
{ label: '单位性质', valueField: 'unitNature' },
|
||||
{ label: '央企级别', valueField: 'centralEnterpriseLevel' },
|
||||
{ label: '所属相关方', valueField: 'affiliatedParties' },
|
||||
{ label: '所在省、直辖市、自治区、特区', valueField: 'provinceOfWorkUnit' },
|
||||
{ label: '通信地址', valueField: 'communicationAddress' },
|
||||
{ label: '邮政编码', valueField: 'zipCode' },
|
||||
{ label: '联系电话', valueField: 'contactPhoneNumber' },
|
||||
{ label: '手机', valueField: 'mobilePhone' },
|
||||
{ label: '传真', valueField: 'facsimile' },
|
||||
{ label: '电子邮箱', valueField: 'email' },
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
title: '毕业院校信息',
|
||||
isOpen: true,
|
||||
column: 2,
|
||||
labelList: [
|
||||
{label: '毕业院校', valueField: 'graduationInstitution'},
|
||||
{label: '所学专业', valueField: 'majorStudied'},
|
||||
{label: '学历', valueField: 'educationalBackground'},
|
||||
{label: '学位', valueField: 'degree'},
|
||||
{label: '专业技术特长', valueField: 'professionalTechnicalExpertise'},
|
||||
{label: '会何种外语及熟练程度', valueField: 'foreignLanguage'},
|
||||
{label: '其他语言及熟练程度', valueField: 'foreignLanguageProficiencyLevel'},
|
||||
{label: '两院院士', valueField: 'isAcademician'},
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.model.id = this.$route.query.id
|
||||
this.loadData()
|
||||
},
|
||||
mounted() {
|
||||
// 处理图片要跨行,组件没有提供跨行的属性
|
||||
const imgEl = this.$refs.descriptionBox.$el.querySelector('.descriptions-item-content-img')
|
||||
imgEl.parentNode.setAttribute('rowspan', 3)
|
||||
imgEl.parentNode.previousElementSibling.setAttribute('rowspan', 3)
|
||||
},
|
||||
methods: {
|
||||
loadData () {
|
||||
this.loading = true
|
||||
getAction('/PayCommitteeMemberInfo/queryById', {id: this.model.id}).then(res => {
|
||||
if (res.success) {
|
||||
this.model = res.result
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
// 获取图片url
|
||||
getImgUrl (id) {
|
||||
return getFileAccessHttpUrl(id)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.description-box {
|
||||
/deep/ .ant-descriptions-view {
|
||||
border-radius: 0;
|
||||
}
|
||||
// 字段列的宽度
|
||||
/deep/ .ant-descriptions-item-label {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
// 一块的头部样式
|
||||
/deep/ .ant-descriptions-title {
|
||||
margin-bottom: 0;
|
||||
background-color: #E6F5F5;
|
||||
padding: 12px 24px;
|
||||
color: @primary-color;
|
||||
}
|
||||
.description-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.description-head-btn {
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.description-item {
|
||||
margin-bottom: 20px;
|
||||
|
||||
&.description-item-close /deep/ .ant-descriptions-view {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
// 没有内容的label就不显示
|
||||
/deep/ .ant-descriptions-item-no-label {
|
||||
display: none;
|
||||
// label对应的内容单元格也不显示
|
||||
& + .ant-descriptions-item-content {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.descriptions-item-content-img {
|
||||
max-height: 100px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,222 @@
|
||||
<template>
|
||||
<div>
|
||||
<page-header-title :img-for-icon="IconImg"></page-header-title>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域-start -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
<a-input placeholder="TC/SC号" v-model="queryParam.committeeNumber" :maxLength='50' allowClear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
<a-select v-model="queryParam.positionOfStandardsCommittee"
|
||||
show-search
|
||||
allowClear
|
||||
placeholder="请选择委员会职务"
|
||||
:filter-option="filterOption">
|
||||
<a-select-option v-for="item in committeePositionList" :key="item" :value="item">{{ item }}</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
<a-input placeholder="请输入聘书编号" v-model="queryParam.appointmentLetterNumber" :maxLength='50' allowClear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
<a-input placeholder="请输入工作单位" v-model="queryParam.workUnit" :maxLength='50' allowClear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item>
|
||||
<a-input placeholder="请输入委员名称" v-model="queryParam.name" :maxLength='50' allowClear></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span class="table-page-search-submitButtons">
|
||||
<a-button type="primary" icon="search" @click="searchQuery" v-has="'company:search'">查询</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- /查询区域-end-->
|
||||
|
||||
<!-- table表格区域-->
|
||||
<div>
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:columns="columns"
|
||||
:scroll="{x: 1300}"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
@change="handleTableChange"
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<!-- 跳转详情 -->
|
||||
<template slot="detail" slot-scope="text, record">
|
||||
<j-ellipsis :value="text" :length="20" @click="handleDetail(record)" class="can-click"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<a-tooltip overlay-class-name="tooltip-style">
|
||||
<template slot="title">{{ text || text === 0 ? text : '' }}</template>
|
||||
<div class="table-text">{{ text || text === 0 ? text : '' }}</div>
|
||||
</a-tooltip>
|
||||
</template>
|
||||
|
||||
</a-table>
|
||||
</div>
|
||||
<!-- /table表格区域-->
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_organizational_manage.png'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
export default {
|
||||
name: 'CommitteeMemberInfoList',
|
||||
components: {PageHeaderTitle},
|
||||
mixins: [JeroListMixin],
|
||||
data () {
|
||||
return {
|
||||
disableMixinCreated: true,
|
||||
isorter: null,
|
||||
IconImg,
|
||||
labelCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 5 }
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: { span: 24 },
|
||||
sm: { span: 10 }
|
||||
},
|
||||
// 委员会职务下拉
|
||||
committeePositionList: [
|
||||
'主任委员',
|
||||
'副主任委员',
|
||||
'副主任委员兼秘书长',
|
||||
'秘书长',
|
||||
'副秘书长',
|
||||
'委员',
|
||||
'顾问',
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'TC号',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'committeeNumber',
|
||||
scopedSlots: { customRender: 'detail' }
|
||||
},
|
||||
{
|
||||
title: '委员姓名',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'name',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '性别',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'gender',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '委员会职务',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'positionOfStandardsCommittee',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '工作单位',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'workUnit',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '单位职务',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'administrativePosition',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
{
|
||||
title: '聘书编号',
|
||||
align: 'center',
|
||||
width: 140,
|
||||
dataIndex: 'appointmentLetterNumber',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
},
|
||||
],
|
||||
url: {
|
||||
list: '/PayCommitteeMemberInfo/page'
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$set(this.queryParam, 'committeeNumber', this.$route.query.committeeNumber)
|
||||
this.searchQuery()
|
||||
},
|
||||
methods: {
|
||||
// 跳转详情
|
||||
handleDetail (record) {
|
||||
this.$router.push({
|
||||
path: '/organizationalManage/committeeMemberDetail',
|
||||
query: {
|
||||
id: record.id
|
||||
}
|
||||
})
|
||||
},
|
||||
// 下拉框的搜索
|
||||
filterOption(input, option) {
|
||||
return (
|
||||
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
||||
)
|
||||
},
|
||||
handleTableChange(pagination) {
|
||||
//分页、排序、筛选变化时触发
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.can-click {
|
||||
cursor: pointer;
|
||||
color: @primary-color;
|
||||
}
|
||||
.table-text {
|
||||
white-space: nowrap;
|
||||
word-break: break-all;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user