Browse Source

联建单位

shibei_master
13176889840 3 years ago
parent
commit
927bc47ad3
  1. 236
      src/views/modules/communityParty/members/cpts/points.vue
  2. 121
      src/views/modules/communityParty/members/cpts/record.vue
  3. 244
      src/views/modules/communityParty/members/crateForm.vue
  4. 26
      src/views/modules/communityParty/members/index.vue
  5. 2
      src/views/modules/communityParty/regionalParty/activitysDetail.vue
  6. 2
      src/views/modules/communityParty/regionalParty/activitysForm.vue
  7. 112
      src/views/modules/visual/communityParty/community.vue
  8. 2
      src/views/modules/visual/communityParty/dialogInfo.vue
  9. 2
      src/views/modules/visual/communityParty/unitInfo.vue
  10. 35
      src/views/modules/visual/components/screen-map/index.vue

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

@ -0,0 +1,236 @@
<template>
<div class="p-wr">
<div class="flex-div mb20 pdl74">
<div class="mr10">评分周期</div>
<div class="mr10">
<el-date-picker
v-model="form.year"
type="year"
placeholder="选择年">
</el-date-picker>
</div>
<div class="mr10">
<el-select v-model="form.quarter" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in quarterList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div>
<el-button
type="primary"
size="small"
>保存</el-button>
</div>
</div>
<el-form label-width="140px" :model="form" :inline="true" ref="ruleForm"
class="form-wr">
<el-form-item label="基础积分分值" prop="basePoint">
<el-input v-model="form.basePoint" placeholder="请输入" class="input-width" clearable />
</el-form-item>
<el-form-item label="基础积分选项" prop="baseOptions" class="wd-wr" :style="'width:' + formItemWd">
<el-checkbox-group v-model="form.baseOptions">
<el-checkbox v-for="item in baseOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-checkbox-group>
</el-form-item>
<div>
<el-form-item label="民主评议积分分值" prop="reviewPoint">
<el-input v-model="form.reviewPoint" placeholder="请输入" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="民主评议积分选项" prop="reviewOptions" class="wd-wr" :style="'width:' + formItemWd">
<el-checkbox-group v-model="form.reviewOptions">
<el-checkbox v-for="item in pyiOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-checkbox-group>
</el-form-item>
</div>
<div>
<el-form-item label="激励积分分值" prop="inspirePoint">
<el-input v-model="form.inspirePoint" placeholder="请输入" class="input-width" clearable />
</el-form-item>
<el-form-item label="激励积分选项" prop="inspireOptions" class="wd-wr" :style="'width:' + formItemWd">
<el-checkbox-group v-model="form.inspireOptions">
<el-checkbox v-for="item in jiliOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-checkbox-group>
</el-form-item>
</div>
<div>
<el-form-item label="警示扣分分值" prop="warnPoint">
<el-input v-model="form.warnPoint" placeholder="请输入" class="input-width" clearable />
</el-form-item>
<el-form-item label="警示扣分选项" prop="warnOptions" class="wd-wr" :style="'width:' + formItemWd">
<el-checkbox-group v-model="form.warnOptions">
<el-checkbox v-for="item in jinshiOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-checkbox-group>
</el-form-item>
</div>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
form: {
partyMemberId: '',
year: '',
quarter: '',
basePoint: '',
baseOptions: '',
reviewPoint: '',
reviewOptions: '',
inspirePoint: '',
inspireOptions: '',
warnPoint: '',
warnOptions: '',
},
formItemWd: '500px',
quarterList: [
{
label: '第一季度',
value: 1
},
{
label: '第二季度',
value: 2
},
{
label: '第三季度',
value: 3
},
{
label: '第四季度',
value: 4
}
],
baseOptions: [
{
label: '参加三会一课',
value: 1
},
{
label: '参加主题党日',
value: 2
},
{
label: '足额缴纳党费',
value: 3
},
{
label: '积极参加学习培训',
value: 4
},
{
label: '自觉执行党组织会议',
value: 5
},
{
label: '严守党的政治纪律和政治规矩',
value: 6
},
],
jiliOptions: [
{
label: '发挥先锋模范作用',
value: 1
},
{
label: '维护社会和谐稳定',
value: 2
},
{
label: '参与社会治理',
value: 3
},
{
label: '联系服务群众',
value: 4
}
],
jinshiOptions: [
{
label: '不服从党组织安排',
value: 1
},
{
label: '不按时足额缴纳党费',
value: 2
},
{
label: '无故长期脱离组织管理',
value: 3
},
{
label: '在工作中出现不良影响',
value: 4
},
{
label: '违反党的纪律',
value: 5
}
],
pyiOptions: [
{
label: '个人自评',
value: 1
},
{
label: '党员互评',
value: 2
},
{
label: '民主测评',
value: 3
}
]
}
},
mounted() {
const w = document.getElementsByClassName('p-wr')[0]
this.formItemWd = w.clientWidth - 360 + 'px'
console.log('www----', w)
}
}
</script>
<style lang="scss" scoped>
.flex-div {
display: flex;
align-items: center;
}
.mb20 {
margin-bottom: 20px;
}
.mr10 {
margin-right: 10px;
}
.pdl74 {
padding-left: 74px;
}
.wd-wr {
/deep/ .el-form-item__content {
width: calc(100% - 140px);
}
/deep/ .el-checkbox {
margin-right: 10px;
font-weight: 400;
// line-height: 20px;
.el-checkbox__label {
padding-left: 5px;
}
}
}
.input-width {
width: 160px;
}
</style>

121
src/views/modules/communityParty/members/cpts/record.vue

@ -0,0 +1,121 @@
<template>
<div>
<div class="mt10">
<el-button size="small" class="diy-button--add" @click="handleAdd">新增</el-button>
</div>
<el-table
:data="tableData"
row-key="id"
border
style="width: 100%"
class="resi-table"
height="400px"
:header-cell-style="getRowClass"
>
<el-table-column label="序号" type="index" align="center" width="50">
</el-table-column>
<el-table-column
prop="name"
label="缴费日期"
align="center"
width="250px"
>
<template slot-scope="scope">
<el-date-picker
v-if="scope.row.isEdit"
v-model="scope.row.payDate"
type="date"
placeholder="选择日期">
</el-date-picker>
<div v-else class="div-content">{{ scope.row.payTime }}</div>
</template>
</el-table-column>
<el-table-column
prop="name"
label="缴费金额"
align="center"
width="180px"
>
<template slot-scope="scope">
<el-input v-if="scope.row.isEdit" v-model="scope.row.money" placeholder="请输入"
class="input-width" clearable></el-input>
<div v-else class="div-content">{{ scope.row.money }}</div>
</template>
</el-table-column>
<el-table-column
prop="name"
label="缴费年度"
align="center"
>
<template slot-scope="scope">
<el-date-picker
v-if="scope.row.isEdit"
v-model="scope.row.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
<div v-else class="div-content">{{ scope.row.timeRange }}</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200">
<template slot-scope="scope">
<el-button
v-if="scope.row.isEdit"
@click="handleEdit(scope.row, 'save')"
type="text"
size="small"
class="btn-color-edit"
>保存</el-button>
<el-button
v-else
@click="handleEdit(scope.row, 'edit')"
type="text"
size="small"
class="btn-color-edit"
>修改</el-button>
<el-button type="text" size="small" class="btn-color-del">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: []
}
},
methods: {
getRowClass({ rowIndex, columnIndex }) {
if (rowIndex === 0) {
return 'background: #2195fe; color: #fff;'
}
},
handleEdit(row) {
row.isEdit = !row.isEdit
},
handleAdd() {
const item = {
isEdit: true,
partyMemberId: '',
payDate: '',
money: '',
startDate: '',
endDate: '',
timeRange: ''
}
this.tableData.push(item)
}
}
}
</script>
<style lang="scss" scoped>
.mt10 {
margin-bottom: 10px;
}
</style>

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

@ -1,53 +1,51 @@
<template>
<div>
<div class="dialog-h-content scroll-h pd0">
<el-form label-width="120px" :model="form" :inline="true" :rules="rules" ref="ruleForm"
class="form-wr dialog-h-content scroll-h">
<el-form-item label="所属党组织" prop="sszb">
<el-select v-model="form.sszb" filterable
:disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in optionsEditG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="党员中心户" prop="isDyzxh" label-width="300px">
<el-radio-group v-model="form.isDyzxh">
<el-radio label="是" value="1"></el-radio>
<el-radio label="否" value="0"></el-radio>
</el-radio-group>
<!-- <el-select v-model="form.isDyzxh" filterable
:disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in optionsEditG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
</el-form-item>
<div>
<el-form-item label="姓名" prop="name">
class="form-wr">
<div class="flex-div">
<el-form-item label="所属党组织" prop="sszb" class="wd50">
<el-select v-model="form.sszb" filterable
:disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in eduList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="党员中心户" prop="isDyzxh" class="wd50">
<el-radio-group v-model="form.isDyzxh">
<el-radio label="是" value="1"></el-radio>
<el-radio label="否" value="0"></el-radio>
</el-radio-group>
<!-- <el-select v-model="form.isDyzxh" filterable
:disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in optionsEditG"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
</el-form-item>
</div>
<div class="flex-div">
<el-form-item label="姓名" prop="name" class="wd50">
<el-input v-model="form.name" placeholder="请输入" :disabled="disabled" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="免学习" prop="isMxx" label-width="300px">
<el-form-item label="免学习" prop="isMxx" class="wd50">
<el-radio-group v-model="form.isMxx">
<el-radio label="是" value="1"></el-radio>
<el-radio label="否" value="0"></el-radio>
</el-radio-group>
<!-- <el-select v-model="form.isMxx" filterable :disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select> -->
</el-form-item>
</div>
<div>
<el-form-item label="手机号" prop="mobile">
<div class="flex-div">
<el-form-item label="手机号" prop="mobile" class="wd50">
<el-input v-model="form.mobile" placeholder="请输入" :disabled="disabled" class="input-width" clearable />
</el-form-item>
<el-form-item label="职务" prop="partyZw" label-width="300px">
<el-form-item label="职务" prop="partyZw" class="wd50">
<el-select v-model="form.partyZw" filterable :disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in zwList"
@ -58,54 +56,79 @@
</el-select>
</el-form-item>
</div>
<div>
<el-form-item label="身份证" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入" :disabled="disabled" class="input-width" clearable />
<div class="flex-div">
<el-form-item label="身份证" prop="idCard" class="wd50">
<el-input v-model="form.idCard" placeholder="请输入" :disabled="disabled"
class="input-width" clearable @blur="handleValidBlur" />
</el-form-item>
<el-form-item label="文化程度" prop="culture" label-width="300px">
<el-form-item label="文化程度" prop="culture" class="wd50">
<el-select v-model="form.culture" filterable :disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option
v-for="item in optionsC"
:key="item.categoryId"
:label="item.categoryName"
:value="item.categoryId">
v-for="item in eduList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<div>
<el-form-item label="地址" prop="address">
<el-input v-model="form.address" placeholder="请输入" :disabled="disabled" class="input-width" clearable></el-input>
<div class="flex-div">
<el-form-item label="地址" prop="address" class="wd50">
<el-input v-model="form.address" placeholder="请输入" :disabled="disabled || isAuto" class="input-width" clearable></el-input>
</el-form-item>
<el-form-item label="入党时间" prop="rdsj" label-width="300px">
<el-input v-model="form.rdsj" placeholder="请输入" :disabled="disabled" class="input-width" clearable></el-input>
<el-form-item label="入党时间" prop="rdsj" class="wd50">
<el-date-picker
v-model="form.rdsj"
:disabled="disabled"
type="date"
class="input-width"
clearable
placeholder="选择日期"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</div>
<div>
<el-form-item label="流动党员" prop="isLd">
<div class="flex-div">
<el-form-item label="流动党员" prop="isLd" class="wd50">
<el-radio-group v-model="form.isLd" class="input-width">
<el-radio label="是" value="1"></el-radio>
<el-radio label="否" value="0"></el-radio>
</el-radio-group>
<!-- <el-select v-model="form.isLd" filterable :disabled="disabled" placeholder="请选择" class="input-width" clearable>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select> -->
</el-form-item>
<el-form-item label="流动党员号" prop="ldzh" label-width="392px">
<el-form-item label="流动党员号" prop="ldzh" class="wd50">
<el-input v-model="form.ldzh" placeholder="请输入" :disabled="disabled" class="input-width" clearable></el-input>
</el-form-item>
</div>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" :autosize="{ minRows: 4, maxRows: 10}" :disabled="disabled" type="textarea" clearable class="input-width-textarea" placeholder="请输入内容"></el-input>
</el-form-item>
<div :style="'width:' + formItemWd" >
<div style="margin-top: 20px; text-align: center;">
<el-button size="small">取消</el-button>
<el-button
v-if="!disabled"
type="primary"
size="small"
>提交</el-button
>
</div>
</div>
</el-form>
<div class="pdl40">
<el-button-group>
<el-tabs v-model="activesName">
<el-tab-pane label="量化积分" name="first">
<pointsInfo />
</el-tab-pane>
<el-tab-pane label="缴费记录" name="second">
<record />
</el-tab-pane>
</el-tabs>
<!-- <el-button-group>
<el-button class="diy-button--add" size="small">量化积分</el-button>
<el-button size="small">缴费记录</el-button>
</el-button-group>
</el-button-group> -->
</div>
<!-- <div class="resi-btns">
<el-button size="small" @click="handlerCancle">取消</el-button>
@ -122,9 +145,43 @@
</template>
<script>
import { isCard, isMobile } from '@/utils/validate'
import { computedCard } from '@/utils/index'
import pointsInfo from './cpts/points.vue'
import record from './cpts/record.vue'
export default {
components: {
pointsInfo,
record
},
data() {
let checkMObile = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入手机号'))
} else {
if (!isMobile(value)) {
callback(new Error('手机号格式不正确'))
}
callback()
}
}
let checkIdCard = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入身份证'))
} else {
if (!isCard(value)) {
callback(new Error('身份证号格式不正确'))
}
callback()
}
}
return {
activesName: 'first',
disabled: false,
isAuto: false,
formItemWd: '100%',
zwList: [
{
label: '普通党员',
@ -146,6 +203,7 @@ export default {
form: {
icResiUser: '',
name: '',
mobile: '',
idCard: '',
address: '',
rdsj: '',
@ -158,11 +216,62 @@ export default {
culture: '',
remark: ''
},
eduList: [],
rules: {
sszb: [{ required: true, message: '所属党组织不能为空', trigger: 'blur' }],
name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
idCard: [{ required: true, message: '身份证不能为空', trigger: 'blur' }],
mobile: [{ required: true, validator: checkMObile, trigger: 'blur' }],
idCard: [{ required: true, validator: checkIdCard, trigger: 'blur' }],
}
}
},
created() {
this.getEduList()
},
mounted() {
const w = document.getElementsByClassName('dialog-h-content')[0]
this.formItemWd = w.clientWidth + 'px'
},
methods: {
handleValidBlur(n) {
if (!isCard(this.form.idCard)) return
const { age } = computedCard(this.form.idCard)
this.form.isMxx = age >= 70 ? '1' : '0'
this.validateResi()
},
async getEduList() {
await this.$http
.post('/sys/dict/data/education')
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.eduList = res.data
}
})
.catch(err => {
console.log('err', err)
return this.$message.error('网络错误')
})
},
async validateResi() {
const params = {
idCard: this.form.idCard,
agencyId: this.$store.state.user.agencyId
}
await this.$http
.post('/epmetuser/icresiuser/checkuser', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
this.form.address = res.data
}
})
.catch(err => {
console.log('err', err)
return this.$message.error('网络错误')
})
}
}
}
@ -172,7 +281,20 @@ export default {
.input-width-textarea {
width: 400px;
}
.input-width {
width: 220px;
}
.flex-div {
display: flex;
// justify-content: space-between;
}
.wd50 {
width: 50%;
}
.pdl40 {
padding-left: 40px;
}
.pd0 {
padding: 0 !important;
}
</style>

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

@ -297,7 +297,7 @@
<el-dialog
title="党员信息"
:visible.sync="dialogVisible"
width="50%"
width="60%"
top="5vh"
class="dialog-h"
append-to-body
@ -401,20 +401,6 @@ export default {
rdsjEndDate: '',
payStatrDate: '',
payEndDate: ''
},
form: {
agencyId: '',
gridId: '',
name: '',
categoryId: '',
mainDeed: '',
imageList: []
},
rules: {
gridId: [{ required: true, message: '网格不能为空', trigger: 'blur' }],
categoryId: [{ required: true, message: '分类类别不能为空', trigger: 'blur' }],
name: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
mainDeed: [{ required: true, message: '主要事迹不能为空', trigger: 'blur' }],
}
}
},
@ -436,10 +422,10 @@ export default {
// this.getCateList('addorupdate')
// }, 200)
this.getTableData()
this.getGridList('query')
this.getGridList('addorupdate')
this.getCateList('query')
this.getCateList('addorupdate')
// this.getGridList('query')
// this.getGridList('addorupdate')
// this.getCateList('query')
// this.getCateList('addorupdate')
this.pageLoading = true
// this.tableHeight = document.documentElement.clientHeight - this.$refs.searchCard.$el.offsetHeight - 280 + 'px'
@ -835,7 +821,7 @@ export default {
pageSize: this.pageSize
}
await this.$http
.post('/resi/partymember/icpartymemberstyle/list', params)
.post('/resi/partymember/icPartyMember/page', params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)

2
src/views/modules/communityParty/regionalParty/activitysDetail.vue

@ -98,7 +98,7 @@
</el-form-item>
<el-form-item label="活动果"
<el-form-item label="活动果"
prop="result"
label-width="150px"
style="display: block">

2
src/views/modules/communityParty/regionalParty/activitysForm.vue

@ -188,7 +188,7 @@
</el-form-item>
<el-form-item label="活动果"
<el-form-item label="活动果"
prop="result"
label-width="150px"
style="display: block">

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

@ -63,20 +63,20 @@
<div class="warning-box-bottom mt0 table-h">
<screen-table :headerList="headerTypeList"
:tableData="tableData"
:tableData="unitTableData"
:headerStyle="headerStyle"
:tableContentStyle="headerStyle"
:visibleLoading="visibleLoading"
:operate="true"
@look="handleUnitLook"></screen-table>
<div class="pagination">
<el-pagination :current-page="pageNo"
:page-size="pageSize"
<el-pagination :current-page="unitpageNo"
:page-size="unitpageSize"
background
layout="prev, pager, next"
@size-change="pageSizeChangeHandleNew"
@current-change="pageCurrentChangeHandleNew"
:total="total">
@size-change="pageSizeHandle"
@current-change="pageCurrentHandle"
:total="unitTotal">
</el-pagination>
</div>
</div>
@ -87,8 +87,12 @@
<screen-map class="map"
ref="map"
:showPolygonLayer="true"
:isAddOpenlay="true"
:clickType="'popup'"
:showIconLayer="true"
:showPolIconLayer="true"
@clickFeature="clickProject"
:showIconLayer="true"></screen-map>
></screen-map>
</div>
<!-- <div class="map-tips">
<div v-for="(item, index) in partyItem"
@ -211,7 +215,7 @@ export default {
headerTypeList: [
{ title: "序号", coulmn: 'index' },
{ title: "单位名称", coulmn: 'unitName' },
{ title: "单位类型", coulmn: 'address' },
{ title: "单位类型", coulmn: 'type' },
],
headerStyle: [
{
@ -246,10 +250,15 @@ export default {
pageNo: 1,
pageSize: 10,
total: 0,
unitpageNo: 1,
unitpageSize: 10,
unitTotal: 0,
unitTableData: [],
activeIndex: 0,
activeLevel: "1",
selectAgency: '',
unitList: [],
unitType: '',
propTree: [],
partyItem: [],
cateInfo: [],
@ -265,7 +274,11 @@ export default {
eduList: [],
partyCode: '',
totalCount: 0,
noInit: false
noInit: false,
orgData: [],
orgId: '',
orgLevel: '',
parentPolygon: []
};
},
async mounted () {
@ -275,8 +288,10 @@ export default {
this.initTime()
await nextTick(100);
await this.getAgencyList()
await this.loadOrgData()
this.loadUnit()
this.getList(this.agencyId)
this.getUnitList(this.agencyId)
this.getCateCount(this.agencyId)
this.getCateType(this.agencyId)
@ -388,7 +403,7 @@ export default {
}
});
this.partyCode = isClick && _code || ''
this.unitType = isClick && _code || ''
this.pieEduOptions.title.text = this.totalCount
this.pieEduOptions.series[1].data = this.partyItem
// this.$refs.pieChart.hideLoading()
@ -396,7 +411,8 @@ export default {
if (this.noInit) {
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
this.pageNo = 1
this.unitpageNo = 1
this.getUnitList(_arr[0])
// this.getCateType(_arr[0], isClick && _code || '')
}
this.noInit = true
@ -450,6 +466,34 @@ export default {
}
this.visibleLoading = false
},
//
async getUnitList (agencyId) {
this.visibleLoading = true
const url = "/heart/icpartyunit/listbrief"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = {
agencyId,
pageSize: this.unitpageSize,
pageNo: this.unitpageNo,
type: this.unitType
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.unitTotal = data.total
this.unitTableData = data.list.map((item, index) => {
return {
...item,
index: index + 1
}
})
} else {
this.$message.error(msg)
}
this.visibleLoading = false
},
async getAgencyList () {
// const url = "/gov/org/customeragency/staffinagencylist";
// const url = '/gov/org/customeragency/agencygridtree'
@ -471,6 +515,35 @@ export default {
this.$message.error(msg)
}
},
async loadOrgData () {
const url = "/gov/org/agency/maporg"
let params = {
orgId: this.orgId,
level: this.orgLevel
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.orgData = data
this.orgId = this.orgData.id
this.orgLevel = this.orgData.level
this.parentPolygon = []
this.parentPolygon = data.children.map(item => {
return {
...item,
color: "#00E5ED",
fillColor: "rgba(0, 229, 237, 0.16)"
}
})
} else {
this.$message.error(msg)
}
},
getTreeData (data) {
if (!Array.isArray(data)) return []
let arr = data.map(item => {
@ -608,7 +681,9 @@ export default {
const _arr = val[val.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency' : 'grid'
this.agencyId = _arr[0]
this.unitType = ''
this.getList(_arr[0])
this.getUnitList(_arr[0])
this.getMapUnitList(_arr[0])
this.getCateCount(_arr[0])
this.getCateType(_arr[0])
@ -781,7 +856,12 @@ export default {
"color": "#00E5ED",
"fillColor": "rgba(0, 229, 237, 0.16)"
}]
this.$refs.map.loadMap(this.agencyInfo, _arr, null, this.unitMapList, this.iconUrlArray, null)
const polIconUrlArray = [
'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20211116/a219130b6bc74b0b80b5ddb0fce0892a.png',
'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20211116/a775d15e62374350b80e5cdf1912a4eb.png',
'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20211116/884efcf6d6b44224a7fda599dd1b14cb.png'
]
this.$refs.map.loadMap(this.agencyInfo, this.parentPolygon, polIconUrlArray, this.unitMapList, this.iconUrlArray, null)
} else {
this.$refs.map.refreshMap(null, this.unitMapList)
@ -817,6 +897,14 @@ export default {
this.pageNo = val;
this.getList(this.agencyId);
},
pageCurrentHandle(val) {
this.unitpageNo = val
this.getUnitList(this.agencyId)
},
pageSizeHandle(val) {
this.unitpageSize = val
this.getUnitList(this.agencyId)
},
},
};
</script>

2
src/views/modules/visual/communityParty/dialogInfo.vue

@ -53,7 +53,7 @@
</div>
<div class="list">
<div class="item">
<span class="item-field">活动</span>
<span class="item-field">活动</span>
<span class="item-content" v-html="info.result"></span>
</div>
</div>

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

@ -64,7 +64,7 @@
</div>
<div class="list">
<div class="item">
<span class="item-field">活动</span>
<span class="item-field">活动</span>
<span class="item-content info-scroll" v-html="info.result"></span>
</div>
</div>

35
src/views/modules/visual/components/screen-map/index.vue

@ -170,7 +170,6 @@ const vueGis = {
},
async mounted () {
},
methods: {
showPosition () {
@ -181,7 +180,7 @@ const vueGis = {
loadMap (mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray, iconTextStyle, distanceMax) {
this.mapInfo = mapInfo
this.polygonArray = polygonArray
this.polIconUrlArray = polIconUrlArray
this.polIconUrlArray = polIconUrlArray || []
this.iconArrays = iconArrays
this.iconUrlArray = iconUrlArray
this.iconTextStyle = iconTextStyle
@ -190,24 +189,24 @@ const vueGis = {
// iconArrays.forEach(item => {
// console.log(item.type, item.urlIndex, item.latitude, item.longitude)
// });
//
this.initMap()
if (this.showPolygonLayer) {
if (this.showPolIconLayer) {
console.log('showPolIconLayer++++++++++++++++++++++', this.showPolIconLayer)
//
this.initPolygonLayer()
this.initPolIconLayer()
//
this.loadPolygon()
// this.loadPolIcon()
}
if (this.showPolIconLayer) {
if (this.showPolygonLayer) {
//
this.initPolygonLayer()
//
this.loadPolIcon()
this.loadPolygon()
}
if (this.showIconLayer) {
//icon
@ -220,7 +219,7 @@ const vueGis = {
this.addOverlay()
}
console.log('showPolIconLayer-----------------------', this.showPolIconLayer)
this.addMapClick()
},
@ -266,7 +265,7 @@ const vueGis = {
oneData = {
type: 'Feature',
properties: { ...polygonItem },
geometry: {
type: 'Polygon',
@ -306,6 +305,7 @@ const vueGis = {
if (this.showPolIconLayer) {
this.loadPolIcon(feature)
}
}
@ -313,6 +313,7 @@ const vueGis = {
//icon
loadPolIcon (feature) {
console.log('feature----------', feature)
let polyIconFeatures = [];
feature.forEach(oneIcon => {
@ -330,13 +331,13 @@ const vueGis = {
id: oneIcon.id_
}
});
console.log('oneIcon----', oneIcon)
let polyIconStyle = new Style({
image: new Icon({
// anchor: [0.5, 0.5],
// imgSize: [32, 32],
scale: 0.5,
src: polIconUrlArray[oneIcon.values_.index - 1]
src: this.polIconUrlArray[0]
})
});
@ -344,7 +345,7 @@ const vueGis = {
polyIconFeatures.push(polyIcon);
});
console.log('polIconSource-----', polIconSource)
polIconSource.addFeatures(polyIconFeatures);
},
@ -515,7 +516,7 @@ const vueGis = {
style: polygonStyleFunction,
zIndex: 50
});
let that = this
//
var overlayStyle = (function () {
@ -535,7 +536,7 @@ const vueGis = {
})
}),
new Style({
text: createTextStyle(feature)
text: that.createTextStyle(feature)
})
];
styles['MultiPolygon'] = styles['Polygon'];

Loading…
Cancel
Save