This commit is contained in:
yanran200730
2022-10-14 08:38:57 +08:00
8 changed files with 120 additions and 358 deletions

View File

@@ -48,7 +48,6 @@ export default {
created() {
let {organizationId: id, organizationName: name} = this.user.info
this.selected = {id, name}
// this.dict.load("portalUserStatus", "enterpriseStatus", "userEnterpriseStatus","enterpriseType")
}
}
</script>

View File

@@ -16,11 +16,11 @@
</template>
<template slot="content">
<el-tabs v-model="currIndex">
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :ref="String(i)" v-if="currIndex == i" :is="tab.comp" lazy :instance="instance"
:dict="dict" :permissions="permissions" v-on="$listeners"/>
</el-tab-pane>
</el-tabs>
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :ref="String(i)" v-if="currIndex == i" :is="tab.comp" lazy :instance="instance"
:dict="dict" :permissions="permissions" v-on="$listeners"/>
</el-tab-pane>
</el-tabs>
</template>
</ai-list>
</template>
@@ -62,27 +62,13 @@ export default {
orgName: '',
loading: false,
total: 0,
colConfigs: [
{type: 'selection', label: ''},
{prop: 'name', label: '姓名', align: 'center'},
{prop: 'sex', label: '性别', align: 'center', dict: 'sex'},
{prop: 'age', label: '年龄', align: 'center'},
// {
// prop: 'auditStatus', label: '审核状态', align: 'center',
// render: (h, {row}) => h('span', {class: `audit-${row.auditStatus}`}, this.dict.getLabel('auditStatus', row.auditStatus))
// },
{prop: 'partyStatus', label: '党籍状态', align: 'center', dict: 'partyStatus'},
{prop: 'joinPartyTime', label: '入党日期', align: 'center'},
{prop: 'partyPosition', label: '党内职务', align: 'center', dict: 'partyPosition'},
{prop: 'flowStatus', label: '流动状态', align: 'center', dict: 'flowStatus'},
],
tableData: [],
ids: '',
tabs: [
{label: '当前届次', name: 'moment', comp: moment, permission: ''},
{label: '历史届次', name: 'history', comp: history, permission: 'app_appgirdmemberapply_detail'}
{label: '历史届次', name: 'history', comp: history, permission: ''}
],
currIndex: 0
currIndex: '0'
}
},
components: {
@@ -94,20 +80,20 @@ export default {
orgTree() {
return this.$refs.tree?.$refs?.partyTree
},
exportQuery() {
let {id: partyOrgId} = this.selected
return {
ids: this.ids ? this.ids.split(',') : [],
...this.search, partyOrgId
}
},
isShowAddBtn() {
return this.selected.isLeaf == 1
}
// exportQuery() {
// let {id: partyOrgId} = this.selected
// return {
// ids: this.ids ? this.ids.split(',') : [],
// ...this.search, partyOrgId
// }
// },
// isShowAddBtn() {
// return this.selected.isLeaf == 1
// }
},
created() {
this.dict.load('disciplinary', 'partyType', 'sex', 'nation', 'education', 'partyStatus', 'partyPosition', 'flowStatus', 'auditStatus')
this.getList()
// this.dict.load('disciplinary', 'partyType', 'sex', 'nation', 'education', 'partyStatus', 'partyPosition', 'flowStatus', 'auditStatus')
// this.getList()
},
methods: {
showNeighbourSetting(id) {

View File

@@ -0,0 +1,13 @@
<template>
<div>历史届次</div>
</template>
<script>
export default {
}
</script>
<style>
</style>

View File

@@ -0,0 +1,13 @@
<template>
<div>当前届次</div>
</template>
<script>
export default {
}
</script>
<style>
</style>

View File

@@ -9,13 +9,11 @@ import List from './components/List'
import Add from './components/Add'
import Detail from './components/Detail'
import {mapState} from "vuex";
import NeighbourSetting from "./components/neighbourSetting";
export default {
name: 'AppRecruitPartyMembers',
label: '发展党员',
components: {
NeighbourSetting,
Add,
List,
Detail
@@ -35,8 +33,6 @@ export default {
currentPage() {
if (this.$route.hash == "#add") {
return Add
} else if (this.$route.hash == "#ns") {
return NeighbourSetting
} else if (this.$route.query.id) {
return Detail
} else return List

View File

@@ -361,80 +361,6 @@
</template>
</el-table-column>
</ai-table>
<ai-table
v-if="activeName === '工作信息'"
:border="true"
:tableData="form.workInfoList"
:isShowPagination="false"
:col-configs="colConfigs2"
:stripe="false"
@getList="() => {}"
>
<el-table-column label="工作时间" slot="date" align="center">
<template slot-scope="{ row }">
<span v-if="row.starTime && row.endTime"
>{{ row.starTime.split(" ")[0] }}
{{ row.endTime.split(" ")[0] }}</span
>
</template>
</el-table-column>
<el-table-column
slot="options"
width="120px"
fixed="right"
label="操作"
align="center"
>
<template slot-scope="{ row, $index }">
<div class="table-options">
<el-button type="text" @click="editJob(row, $index)"
>编辑
</el-button
>
<el-button
type="text"
@click="remove($index, 'workInfoList')"
>删除
</el-button
>
</div>
</template>
</el-table-column>
</ai-table>
<ai-table
v-if="activeName === '违纪信息'"
:border="true"
:tableData="form.disciplinaryInfoList"
:isShowPagination="false"
:col-configs="colConfigs3"
:stripe="false"
@getList="() => {}"
>
<el-table-column
slot="options"
width="120px"
fixed="right"
label="操作"
align="center"
>
<template slot-scope="{ row, $index }">
<div class="table-options">
<el-button
type="text"
@click="editDisciplinary(row, $index)"
>编辑
</el-button
>
<el-button
type="text"
@click="remove($index, 'disciplinaryInfoList')"
>删除
</el-button
>
</div>
</template>
</el-table-column>
</ai-table>
</template>
</ai-card>
<ai-card title="发展对象的确定和考察">
@@ -562,13 +488,6 @@
</el-form-item>
</template>
</ai-card>
</el-form>
<ai-dialog
:visible.sync="isShowStarForm"
@@ -836,13 +755,13 @@ export default {
colConfigs1: [
{
prop: "starTime",
label: "职位",
label: "姓名",
align: "center",
formart: (v) => (v ? v.split(" ")[0] : "-"),
},
{
prop: "starTime",
label: "姓名",
label: "职位",
align: "center",
formart: (v) => (v ? v.split(" ")[0] : "-"),
},

View File

@@ -12,7 +12,7 @@
<div>
<ai-card title="基本信息">
<template #content>
<ai-wrapper label-width="72px">
<ai-wrapper label-width="150px">
<ai-avatar
class="party-avatar"
v-model="info.avatarUrl"
@@ -51,7 +51,7 @@
</ai-card>
<ai-card title="联络信息">
<template #content>
<ai-wrapper label-width="72px">
<ai-wrapper label-width="150px">
<ai-info-item label="联系方式">{{ info.name }}</ai-info-item>
<ai-info-item
label="现住址"
@@ -63,7 +63,7 @@
</ai-card>
<ai-card title="团籍信息">
<template #content>
<ai-wrapper label-width="72px">
<ai-wrapper label-width="150px">
<ai-info-item label="入团日期">{{ info.name }}</ai-info-item>
<ai-info-item label="文化程度">{{ info.name }}</ai-info-item>
<ai-info-item label="学位职称">{{ info.name }}</ai-info-item>
@@ -81,7 +81,7 @@
</ai-card>
<ai-card title="申请入学">
<template #content>
<ai-wrapper label-width="72px">
<ai-wrapper label-width="150px">
<ai-info-item label="申请入学时间">{{ info.name }}</ai-info-item>
<ai-info-item
label="申请入学形式"
@@ -91,9 +91,67 @@
</ai-wrapper>
</template>
</ai-card>
<ai-card title="入学积极分子的确定和教育培养">
<template #content>
<ai-wrapper label-width="150px">
<ai-info-item label="确定为入学积极分子时间" isLine>{{ info.name }}</ai-info-item>
<ai-info-item label="确定为积极分子的根据和意见" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="培养教育情况及鉴定意见" isLine :value="info.householdAreaName"></ai-info-item>
</ai-wrapper>
</template>
</ai-card>
<ai-card title="入学介绍人/培养人">
<template #content>
<ai-table
:border="true"
:tableData="info.starList"
:isShowPagination="false"
:col-configs="colConfigs1"
:stripe="false"
@getList="() => {}"
>
</ai-table>
</template>
</ai-card>
<ai-card title="发展对象的确定和考察">
<template #content>
<ai-wrapper label-width="150px">
<ai-info-item label="确定为发展对象时间" isLine>{{ info.name }}</ai-info-item>
<ai-info-item label="政治历史的考察及结论" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="社会关系考察及结论" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="现实考察及结论" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="学的基本知识考核及考试成绩" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="综合考察结论意见" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="学内讨论是否确定为发展对象的意见" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="确定为发展对象后的谈话记录" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="支委会研究意见" isLine :value="info.householdAreaName"></ai-info-item>
</ai-wrapper>
</template>
</ai-card>
<ai-card title="预备学员的接收">
<template #content>
<ai-wrapper label-width="150px">
<ai-info-item label="吸收入学时间" isLine>{{ info.name }}</ai-info-item>
<ai-info-item label="吸收入学地点" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="吸收入学时支部大会上学员提的意见和要求及个人的态度" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="预备期间的教育情况" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="学小组对其转正的讨论意见" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="预备期间的考察情况" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="学支部对其转正的意见" isLine :value="info.householdAreaName"></ai-info-item>
</ai-wrapper>
</template>
</ai-card>
<ai-card title="预备学员的教育考察和转正">
<template #content>
<ai-wrapper label-width="150px">
<ai-info-item label="转正时间" isLine>{{ info.name }}</ai-info-item>
<ai-info-item label="预备期间的教育情况" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="预备期间的考察情况" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="学小组对其转正的讨论意见" isLine :value="info.householdAreaName"></ai-info-item>
<ai-info-item label="学支部对其转正的意见" isLine :value="info.householdAreaName"></ai-info-item>
</ai-wrapper>
</template>
</ai-card>
</div>
</template>
</ai-detail>
@@ -139,11 +197,17 @@ export default {
colConfigs1: [
{
prop: "starTime",
label: "评定时间",
label: "姓名",
align: "center",
formart: (v) => (v ? v.split(" ")[0] : "-"),
},
{ slot: "level" },
{
prop: "starTime",
label: "职位",
align: "center",
formart: (v) => (v ? v.split(" ")[0] : "-"),
},
],
colConfigs2: [
{ slot: "date" },

View File

@@ -1,228 +0,0 @@
<template>
<section class="neighbourSetting">
<ai-list>
<ai-title slot="title" title="四邻设置" isShowBottomBorder isShowBack @onBackClick="back"/>
<template #content>
<ai-search-bar>
<template #left>
<el-button type="primary" icon="iconfont iconAdd" @click="dialog=true">添加</el-button>
<el-button icon="iconfont iconDelete" :disabled="!search.ids" @click="handleDelete(search.ids)">删除
</el-button>
</template>
<template #right>
<el-input size="small" placeholder="搜索户主姓名" v-model="search.residentName" clearable
@change="page.current=1,getTableData()" suffix-icon="iconfont iconSearch"/>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs" :dict="dict"
@selection-change="v=>search.ids=v.map(e=>e.pfrId).toString()">
<el-table-column slot="options" label="操作" fixed="right" align="center">
<template slot-scope="{row}">
<el-button type="text" @click="handleDelete(row.pfrId)">删除</el-button>
</template>
</el-table-column>
</ai-table>
</template>
</ai-list>
<ai-dialog title="添加户主" :visible.sync="dialog" @closed="clearDialog" @onConfirm="submit"
width="1200px">
<ai-area-get v-model="form.areaId" :instance="instance" :root="user.info.areaId"
@change="list.current=1,getResident()"/>
<el-row type="flex" class="mar-t16">
<ai-table ref="Residents" :tableData="residents" :total="list.total" :current.sync="list.current"
:size.sync="list.size" class="fill" border height="360px" @getList="getResident"
:col-configs="[{slot: 'resident'}]" layout="slot,->, prev, pager, next, jumper" :pagerCount="5">
<el-table-column slot="resident">
<template #header>
<b v-text="`户主信息列表`"/>
<el-input class="fill searchbar" v-model="list.con" size="small" placeholder="搜索姓名/身份证号" clearable
@change="list.current=1,getResident()"/>
</template>
<template slot-scope="{row}">
<el-row type="flex" justify="space-between" @click.native="handleSelectResident(row)" class="toggle"
:class="{selected:findResident(row.id)>-1}">
<span v-text="row.name"/>
<span v-text="idCardNoUtil.hideId(row.idNumber)"/>
</el-row>
</template>
</el-table-column>
</ai-table>
<ai-table :tableData="form.residentList" :col-configs="[{slot:'resident'}]" :isShowPagination="false" border
height="360px">
<el-table-column slot="resident">
<template #header>
<b v-text="`已选择`"/>
<el-button type="text" @click="form.residentList=[]">清空</el-button>
</template>
<template slot-scope="{row,$index}">
<el-row type="flex" align="middle" justify="space-between">
<div v-text="[row.residentName, idCardNoUtil.hideId(row.idNumber)].join(' ')"/>
<el-button type="text" @click="form.residentList.splice($index,1)">删除</el-button>
</el-row>
</template>
</el-table-column>
</ai-table>
</el-row>
</ai-dialog>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "neighbourSetting",
props: {
instance: Function,
dict: Object,
},
computed: {
...mapState(['user']),
colConfigs() {
return [
{type: 'selection'},
{label: "户主姓名", prop: "name"},
{label: "身份证号", prop: "idNumber"},
{label: "联系方式", prop: "phone"},
{label: "添加时间", prop: "createTime"},
{slot: "options"}
]
},
},
data() {
return {
search: {residentName: "", ids: ""},
page: {current: 1, size: 10, total: 0},
tableData: [],
dialog: false,
form: {areaId: "", residentList: []},
residents: [],
list: {current: 1, size: 10, total: 0},
}
},
methods: {
back() {
this.$router.push({})
},
getTableData() {
this.instance.post("/app/apppartyfourresident/listFourResident", null, {
params: {...this.page, ...this.search}
}).then(res => {
if (res?.data) {
this.tableData = res.data?.records
this.page.total = res.data.total
}
})
},
handleDelete(ids) {
this.$confirm("是否要删除户主?").then(() => {
this.instance.post("/app/apppartyfourresident/delete", null, {
params: {ids}
}).then(res => {
if (res?.code == 0) {
this.$message.success("删除成功!")
this.getTableData()
}
})
}).catch(() => 0)
},
submit() {
this.instance.post("/app/apppartyfourresident/add", this.form).then(res => {
if (res?.code == 0) {
this.$message.success("提交成功!")
this.dialog = false
this.getTableData()
}
})
},
getResident() {
let {areaId} = this.form
areaId = areaId || this.user.info.areaId
this.instance.post("/app/appresident/list", null, {
params: {householdName: 1, areaId, ...this.list, auditStatus: 1}
}).then(res => {
if (res?.data) {
// this.residents = res.data.records?.map(e => ({dictValue: e.id, dictName: e.name}))
this.residents = res.data.records
this.list.total = res.data.total
this.$refs.Residents.doLayout()
}
})
},
handleSelectResident(row) {
let {id: partyId} = this.$route.query
let index = this.findResident(row.id)
if (index > -1) {
this.form.residentList.splice(index, 1)
} else {
let {id: residentId, name: residentName, idNumber} = row
this.form.residentList.push({residentId, residentName, idNumber, partyId})
}
this.$forceUpdate()
},
findResident(id) {
return this.form.residentList?.findIndex(e => e.residentId == id)
},
clearDialog() {
this.form = {residentList: []}
this.residents = []
this.list = {current: 1, size: 10, total: 0}
}
},
created() {
this.search.partyId = this.$route.query.id
this.getTableData()
}
}
</script>
<style lang="scss" scoped>
.neighbourSetting {
height: 100%;
.mar-t16 {
margin-top: 16px;
}
::v-deep.ai-dialog__content {
.ai-dialog__content--wrapper {
padding-right: 0;
display: flex;
flex-direction: column;
.el-row {
width: 100%;
.ai-table + .ai-table {
margin-left: 16px;
width: 400px;
.ai-table__header > .cell {
line-height: 40px;
}
}
}
.toggle {
cursor: pointer;
&.selected {
color: #26f;
}
}
.ai-table__header > .cell {
display: flex;
align-items: center;
justify-content: space-between;
}
}
}
::v-deep.searchbar {
padding-right: 0;
}
}
</style>