Browse Source

党员管理,联建分析

shibei_master
13176889840 3 years ago
parent
commit
4f3cd27f5c
  1. 2
      src/views/main-shuju/main.vue
  2. 8
      src/views/modules/communityParty/members/cpts/points.vue
  3. 37
      src/views/modules/communityParty/members/crateForm.vue
  4. 94
      src/views/modules/communityParty/members/index.vue
  5. 59
      src/views/modules/visual/communityParty/community.vue
  6. 257
      src/views/modules/visual/communityParty/unitInfo.vue

2
src/views/main-shuju/main.vue

@ -134,7 +134,7 @@ export default {
<style lang="scss"> <style lang="scss">
.info-h { .info-h {
height: calc(100vh - 320px); height: calc(100vh - 320px);
overflow: auto; // overflow: auto;
} }
.info-scroll { .info-scroll {
&::-webkit-scrollbar { &::-webkit-scrollbar {

8
src/views/modules/communityParty/members/cpts/points.vue

@ -80,13 +80,13 @@ export default {
year: '', year: '',
quarter: '', quarter: '',
basePoint: '', basePoint: '',
baseOptions: '', baseOptions: [],
reviewPoint: '', reviewPoint: '',
reviewOptions: '', reviewOptions: [],
inspirePoint: '', inspirePoint: '',
inspireOptions: '', inspireOptions: [],
warnPoint: '', warnPoint: '',
warnOptions: '', warnOptions: [],
}, },
formItemWd: '500px', formItemWd: '500px',
quarterList: [ quarterList: [

37
src/views/modules/communityParty/members/crateForm.vue

@ -4,15 +4,12 @@
class="form-wr"> class="form-wr">
<div class="flex-div"> <div class="flex-div">
<el-form-item label="所属党组织" prop="sszb" class="wd50"> <el-form-item label="所属党组织" prop="sszb" class="wd50">
<el-select v-model="form.sszb" filterable <el-cascader
:disabled="disabled" placeholder="请选择" class="input-width" clearable> v-model="form.sszb"
<el-option :options="optionsG"
v-for="item in eduList" :props="partyProps"
:key="item.value" clearable
:label="item.label" @change="handlePartyChange"></el-cascader>
:value="item.value">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="党员中心户" prop="isDyzxh" class="wd50"> <el-form-item label="党员中心户" prop="isDyzxh" class="wd50">
<el-radio-group v-model="form.isDyzxh"> <el-radio-group v-model="form.isDyzxh">
@ -156,6 +153,12 @@ export default {
pointsInfo, pointsInfo,
record record
}, },
props: {
partyList: {
type: Array,
default: () => []
}
},
data() { data() {
let checkMObile = (rule, value, callback) => { let checkMObile = (rule, value, callback) => {
if (value === '') { if (value === '') {
@ -182,6 +185,10 @@ export default {
disabled: false, disabled: false,
isAuto: false, isAuto: false,
formItemWd: '100%', formItemWd: '100%',
partyProps: {
label: 'partyOrgName',
value: 'partyOrgCode'
},
zwList: [ zwList: [
{ {
label: '普通党员', label: '普通党员',
@ -233,6 +240,9 @@ export default {
this.formItemWd = w.clientWidth + 'px' this.formItemWd = w.clientWidth + 'px'
}, },
methods: { methods: {
handlePartyChange(val) {
console.log('val------pp', val)
},
handleValidBlur(n) { handleValidBlur(n) {
if (!isCard(this.form.idCard)) return if (!isCard(this.form.idCard)) return
const { age } = computedCard(this.form.idCard) const { age } = computedCard(this.form.idCard)
@ -260,12 +270,17 @@ export default {
agencyId: this.$store.state.user.agencyId agencyId: this.$store.state.user.agencyId
} }
await this.$http await this.$http
.post('/epmetuser/icresiuser/checkuser', params) .post('/epmetuser/icresiuser/getUserByIdCard', params)
.then(({ data: res }) => { .then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} else { } else {
this.form.address = res.data const { address, icResiUserId } = res.data
if (icResiUserId) {
this.form.address = address
this.isAuto = true
}
} }
}) })
.catch(err => { .catch(err => {

94
src/views/modules/communityParty/members/index.vue

@ -5,14 +5,20 @@
<el-form ref="searchForm" :inline="true" :model="searchForm" size="small" label-width="100px" class="demo-form-inline"> <el-form ref="searchForm" :inline="true" :model="searchForm" size="small" label-width="100px" class="demo-form-inline">
<div> <div>
<el-form-item label="所属党组织" prop="partyOrgId"> <el-form-item label="所属党组织" prop="partyOrgId">
<el-select v-model="searchForm.partyOrgId" filterable placeholder="请选择" clearable> <!-- <el-select v-model="searchForm.partyOrgId" filterable placeholder="请选择" clearable>
<el-option <el-option
v-for="item in optionsG" v-for="item in optionsG"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"> :value="item.value">
</el-option> </el-option> -->
</el-select> </el-select>
<el-cascader
v-model="searchForm.partyOrgId"
:options="optionsG"
:props="partyProps"
clearable
@change="handlePartyChange"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input v-model="searchForm.name" placeholder="请输入" class="input-width" clearable></el-input> <el-input v-model="searchForm.name" placeholder="请输入" class="input-width" clearable></el-input>
@ -30,12 +36,8 @@
<div> <div>
<el-form-item label="流动党员" prop="isLd"> <el-form-item label="流动党员" prop="isLd">
<el-select v-model="searchForm.isLd" filterable placeholder="请选择" clearable> <el-select v-model="searchForm.isLd" filterable placeholder="请选择" clearable>
<el-option <el-option label="是" value="1" />
v-for="item in optionsC" <el-option label="否" value="0" />
:key="item.categoryId"
:label="item.categoryName"
:value="item.categoryId">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="流动党员证号" prop="ldzh"> <el-form-item label="流动党员证号" prop="ldzh">
@ -44,42 +46,30 @@
<el-form-item label="职务" prop="partyZw"> <el-form-item label="职务" prop="partyZw">
<el-select v-model="searchForm.partyZw" filterable placeholder="请选择" clearable> <el-select v-model="searchForm.partyZw" filterable placeholder="请选择" clearable>
<el-option <el-option
v-for="item in optionsC" v-for="item in zwList"
:key="item.categoryId" :key="item.value"
:label="item.categoryName" :label="item.label"
:value="item.categoryId"> :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否缴费" prop="isPay"> <el-form-item label="是否缴费" prop="isPay">
<el-select v-model="searchForm.isPay" filterable placeholder="请选择" clearable> <el-select v-model="searchForm.isPay" filterable placeholder="请选择" clearable>
<el-option <el-option label="是" value="1" />
v-for="item in optionsC" <el-option label="否" value="0" />
:key="item.categoryId"
:label="item.categoryName"
:value="item.categoryId">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="党员中心户" prop="isDyzxh"> <el-form-item label="党员中心户" prop="isDyzxh">
<el-select v-model="searchForm.isDyzxh" filterable placeholder="请选择" clearable> <el-select v-model="searchForm.isDyzxh" filterable placeholder="请选择" clearable>
<el-option <el-option label="是" value="1" />
v-for="item in optionsC" <el-option label="否" value="0" />
:key="item.categoryId"
:label="item.categoryName"
:value="item.categoryId">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item label="免学习" prop="isMxx"> <el-form-item label="免学习" prop="isMxx">
<el-select v-model="searchForm.isMxx" filterable placeholder="请选择" clearable> <el-select v-model="searchForm.isMxx" filterable placeholder="请选择" clearable>
<el-option <el-option label="是" value="1" />
v-for="item in optionsC" <el-option label="否" value="0" />
:key="item.categoryId"
:label="item.categoryName"
:value="item.categoryId">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="最近一次缴费时间" <el-form-item label="最近一次缴费时间"
@ -304,7 +294,7 @@
:close-on-click-modal="false" :close-on-click-modal="false"
:before-close="handlerCancle" :before-close="handlerCancle"
> >
<crate-form /> <crate-form :partyList="optionsG" />
</el-dialog> </el-dialog>
</div> </div>
@ -353,6 +343,24 @@ export default {
value: 2 value: 2
} }
], ],
zwList: [
{
label: '普通党员',
value: '0'
},
{
label: '支部书记',
value: '1'
},
{
label: '支部委员',
value: '2'
},
{
label: '党委委员',
value: '3'
},
],
demandOptions: [], demandOptions: [],
tableHeader: [ tableHeader: [
{ {
@ -401,6 +409,10 @@ export default {
rdsjEndDate: '', rdsjEndDate: '',
payStatrDate: '', payStatrDate: '',
payEndDate: '' payEndDate: ''
},
partyProps: {
label: 'partyOrgName',
value: 'partyOrgCode'
} }
} }
}, },
@ -422,7 +434,7 @@ export default {
// this.getCateList('addorupdate') // this.getCateList('addorupdate')
// }, 200) // }, 200)
this.getTableData() this.getTableData()
// this.getGridList('query') this.getGridList('query')
// this.getGridList('addorupdate') // this.getGridList('addorupdate')
// this.getCateList('query') // this.getCateList('query')
// this.getCateList('addorupdate') // this.getCateList('addorupdate')
@ -450,6 +462,9 @@ export default {
this.currentPage = val this.currentPage = val
this.getTableData() this.getTableData()
}, },
handlePartyChange(val) {
console.log('val------pp', val)
},
handleFilterSpan(row, item) { handleFilterSpan(row, item) {
let _val = '' let _val = ''
if (item.options && item.options.length > 0) { if (item.options && item.options.length > 0) {
@ -772,21 +787,30 @@ export default {
console.log('user---ppp', user) console.log('user---ppp', user)
// addorupdate query // addorupdate query
await this.$http await this.$http
.post('/gov/org/customergrid/gridoption', { agencyId: agencyId || user.agencyId, purpose: type }) .get('/resi/partymember/icPartyOrg/getTreelist', { agencyId: agencyId || user.agencyId, })
.then(({ data: res }) => { .then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} else { } else {
console.log('获取查询详情成功', res.data) console.log('获取查询详情成功', res.data)
if (type === 'query') this.optionsG = res.data this.optionsG = this.deepArrTOnull(res.data)
else this.optionsEditG = res.data
} }
}) })
.catch(() => { .catch(() => {
return this.$message.error('网络错误') return this.$message.error('网络错误')
}) })
}, },
deepArrTOnull(arr) {
let a = []
a = arr.map(item => {
return {
...item,
children: (item.children.length > 0 && this.deepArrTOnull(item.children) )|| null
}
})
return a
},
async getCateList(type) { async getCateList(type) {
const { user } = await this.$store.state const { user } = await this.$store.state
console.log('user---ppp', user) console.log('user---ppp', user)

59
src/views/modules/visual/communityParty/community.vue

@ -179,7 +179,8 @@
:info="detailInfo" :info="detailInfo"
@close="showedMoreInfo = false" /> @close="showedMoreInfo = false" />
<unit-info v-if="showedUnitMoreInfo" v-fixed <unit-info v-if="showedUnitMoreInfo" v-fixed
:info="unitdetailInfo" :list="unitAclist"
ref="unitdetailInfo"
@close="showedUnitMoreInfo = false" /> @close="showedUnitMoreInfo = false" />
</div> </div>
</template> </template>
@ -216,7 +217,7 @@ export default {
headerTypeList: [ headerTypeList: [
{ title: "序号", coulmn: 'index' }, { title: "序号", coulmn: 'index' },
{ title: "单位名称", coulmn: 'unitName' }, { title: "单位名称", coulmn: 'unitName' },
{ title: "单位类型", coulmn: 'typeName' }, { title: "单位类型", coulmn: 'type' },
], ],
headerStyle: [ headerStyle: [
{ {
@ -279,7 +280,8 @@ export default {
orgData: [], orgData: [],
orgId: '', orgId: '',
orgLevel: '', orgLevel: '',
parentPolygon: [] parentPolygon: [],
unitAclist: []
}; };
}, },
async mounted () { async mounted () {
@ -437,8 +439,35 @@ export default {
this.getList(this.agencyId); this.getList(this.agencyId);
this.getCateCount(this.agencyId) this.getCateCount(this.agencyId)
}, },
//
async getAcList (agencyId, unitId) {
// const url = "/heart/icpartyactivity/activitylist"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = {
pageNo: 1,
pageSize: 9999,
agencyId,
unitId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.unitAclist = data.list && data.list.map((item, index) => {
return {
...item,
index: index + 1
}
})
if (this.unitAclist.length > 0) this.showedUnitMoreInfo = true
else this.$message.warning('该单位还没有活动')
} else {
this.$message.error(msg)
}
},
//
async getList (agencyId) { async getList (agencyId) {
this.visibleLoading = true this.visibleLoading = true
@ -496,7 +525,11 @@ export default {
//false //false
this.$nextTick(() => {
this.loadMap() this.loadMap()
this.$forceUpdate()
})
// this.isfirstInit = false
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
@ -689,11 +722,16 @@ export default {
const _arr = val[val.length - 1].split('-') const _arr = val[val.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency' : 'grid' const orgType = _arr[1] !== 'grid' ? 'agency' : 'grid'
this.agencyId = _arr[0] this.agencyId = _arr[0]
this.orgId = _arr[0]
this.orgLevel = orgType
this.unitType = '' this.unitType = ''
this.getList(_arr[0]) this.getList(_arr[0])
await this.getCateType(_arr[0]) await this.getCateType(_arr[0])
await this.loadOrgData()
this.agencyInfo = { ...this.orgData }
console.log('agencyInfo-----', this.agencyInfo)
this.getUnitList(_arr[0]) this.getUnitList(_arr[0])
this.getMapUnitList(_arr[0]) // this.getMapUnitList(_arr[0])
this.getCateCount(_arr[0]) this.getCateCount(_arr[0])
} }
@ -863,7 +901,7 @@ export default {
console.log('this.unitTableData', this.unitTableData) console.log('this.unitTableData', this.unitTableData)
this.$refs.map.loadMap(this.agencyInfo, this.parentPolygon, polIconUrlArray, this.unitTableData, this.iconUrlArray, null) this.$refs.map.loadMap(this.agencyInfo, this.parentPolygon, polIconUrlArray, this.unitTableData, this.iconUrlArray, null)
} else { } else {
this.$refs.map.refreshMap(null, this.unitMapList) this.$refs.map.refreshMap(this.agencyInfo, this.unitTableData)
} }
}, },
@ -878,10 +916,15 @@ export default {
await this.getDetail(val.id) await this.getDetail(val.id)
this.showedMoreInfo = true this.showedMoreInfo = true
}, },
handleUnitLook(val) { async handleUnitLook(val) {
this.unitdetailId = val.id this.unitdetailId = val.id
// await this.getDetail(val.id) // await this.getDetail(val.id)
this.showedUnitMoreInfo = true // this.showedUnitMoreInfo = true
await this.getAcList(this.agencyId, val.id)
this.$nextTick(() => {
console.log('this.$refs', this.$refs['unitdetailInfo'])
this.$refs['unitdetailInfo'].getDetail(this.unitAclist[0].id)
})
}, },
handleSelectChange (val) { handleSelectChange (val) {

257
src/views/modules/visual/communityParty/unitInfo.vue

@ -13,14 +13,15 @@
<!-- <div class="list-title">需求内容</div> --> <!-- <div class="list-title">需求内容</div> -->
<div class="list-wr info-h"> <div class="list-wr info-h">
<div class="list-left info-scroll"> <div class="list-left info-scroll">
<div class="left-item left-item-on"> <div v-for="(item, index) in list" :key="item.id" class="left-item"
<div class="item-title">帮扶老人帮扶老人帮扶老人帮扶老人帮扶老人帮扶老人</div> :class="current == index &&'left-item-on'" @click="handleTabs(item, index)">
<div class="item-time">2022-05-20 09:09</div> <div class="item-title">{{ item.title }}</div>
<div class="item-time">{{ item.activityTime }}</div>
</div> </div>
<div class="left-item"> <!-- <div class="left-item">
<div class="item-title">帮扶老人帮扶老人</div> <div class="item-title">帮扶老人帮扶老人</div>
<div class="item-time">2022-05-20 09:09</div> <div class="item-time">2022-05-20 09:09</div>
</div> </div> -->
</div> </div>
<div class="list-right list-wr info-scroll"> <div class="list-right list-wr info-scroll">
<div class="list"> <div class="list">
@ -112,11 +113,14 @@ export default {
type: Array, type: Array,
default: () => [], default: () => [],
}, },
gridName: { type: {
type: String,
default: "",
},
agencyId: {
type: String, type: String,
default: "", default: "",
}, },
info: Object
}, },
components: { components: {
@ -126,219 +130,9 @@ export default {
data() { data() {
return { return {
fieldList: [], list: [],
groupList: [], current: 0,
groupIndex: 0, info: {}
startGroupIndex: 0,
// info: {},
allInfo: {},
xiaoquList: [],
louList: [],
danyuanList: [],
homeList: [],
demandList: [
{
categoryName: '辨明服务',
categoryCode: '1',
showItem: false,
projectList: [
{
title: '不知道写了什么哈哈哈',
status: 'closed',
projectId: '1'
},
{
title: '罗里吧嗦写了什么哈哈哈',
status: 'closed',
projectId: '2'
},
{
title: '胡说八道写了什么哈哈哈',
status: 'closed',
projectId: '1=3'
},
{
title: '费眼飞鱼不知道写了什么哈哈哈',
status: 'closed',
projectId: '1=4'
},
{
title: '狗屁不通不知道写了什么哈哈哈',
status: 'closed',
projectId: '5'
},
{
title: '啦啦啦不知道写了什么哈哈哈',
status: 'closed',
projectId: '6'
}
]
},
{
categoryName: '辨明服务',
categoryCode: '1',
showItem: false,
projectList: [
{
title: '不知道写了什么哈哈哈',
status: 'closed',
projectId: '1'
},
{
title: '罗里吧嗦写了什么哈哈哈',
status: 'closed',
projectId: '2'
},
{
title: '胡说八道写了什么哈哈哈',
status: 'closed',
projectId: '1=3'
},
{
title: '费眼飞鱼不知道写了什么哈哈哈',
status: 'closed',
projectId: '1=4'
},
{
title: '狗屁不通不知道写了什么哈哈哈',
status: 'closed',
projectId: '5'
},
{
title: '啦啦啦不知道写了什么哈哈哈',
status: 'closed',
projectId: '6'
}
]
},
{
categoryName: '辨明服务',
categoryCode: '1',
showItem: false,
projectList: [
{
title: '不知道写了什么哈哈哈',
status: 'closed',
projectId: '1'
},
{
title: '罗里吧嗦写了什么哈哈哈',
status: 'closed',
projectId: '2'
},
{
title: '胡说八道写了什么哈哈哈',
status: 'closed',
projectId: '1=3'
},
{
title: '费眼飞鱼不知道写了什么哈哈哈',
status: 'closed',
projectId: '1=4'
},
{
title: '狗屁不通不知道写了什么哈哈哈',
status: 'closed',
projectId: '5'
},
{
title: '啦啦啦不知道写了什么哈哈哈',
status: 'closed',
projectId: '6'
}
]
}
],
userLists: [
{
homeId: '1',
icUserId: '1',
icUserName: '沾上干'
},
{
homeId: '2',
icUserId: '2',
icUserName: '李四'
},
{
homeId: '3',
icUserId: '3',
icUserName: '王五哈哈'
}
],
userName: '王亚男哈',
eventList: [
{
categoryName: '辨明服务',
categoryCode: '1',
projectList: [
{
title: '不知道写了什么哈哈哈',
status: 'closed',
projectId: '1'
},
{
title: '罗里吧嗦写了什么哈哈哈',
status: 'closed',
projectId: '2'
},
{
title: '胡说八道写了什么哈哈哈',
status: 'closed',
projectId: '1=3'
},
{
title: '费眼飞鱼不知道写了什么哈哈哈',
status: 'closed',
projectId: '1=4'
},
{
title: '狗屁不通不知道写了什么哈哈哈',
status: 'closed',
projectId: '5'
},
{
title: '啦啦啦不知道写了什么哈哈哈',
status: 'closed',
projectId: '6'
}
]
},
{
categoryName: '水煮鱼辨明服务辨明服务',
categoryCode: '4',
projectList: [
{
title: '熟煮雨不知道写了什么哈哈哈',
status: 'pending',
projectId: '4'
}
]
},
{
categoryName: '开心麻花',
categoryCode: '2',
projectList: [
{
title: '不知道开心麻花写了什么哈哈哈',
status: 'closed',
projectId: '1'
}
]
},
{
categoryName: '酸菜鱼',
categoryCode: '3',
projectList: [
{
title: '不知道酸菜鱼写了什么哈哈哈',
status: 'pending',
projectId: '3'
}
]
}
],
}; };
}, },
@ -350,6 +144,28 @@ export default {
handleClose() { handleClose() {
this.$emit("close"); this.$emit("close");
}, },
handleTabs(item, index) {
this.current = index
this.getDetail(item.id)
},
async getDetail (id) {
const _id = this.list[0].id
const url = "/heart/icpartyactivity/detail"
let params = {
id: id || _id
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.info = data
this.info.serviceMatterNameShow = data.serviceMatterNameList.join(',')
this.info.unitNameShow = data.unitNameList.join(',')
} else {
this.$message.error(msg)
}
},
} }
}; };
</script> </script>
@ -434,6 +250,7 @@ export default {
.list-right { .list-right {
flex: 1; flex: 1;
height: 100%; height: 100%;
overflow: auto;
} }

Loading…
Cancel
Save